写了个程序打印给定范围内的素数,但是因为用的range来增大被除数,range(2,2)为空,所以打印的结果没有2。
不更换解题方法,不使用其他方法增大被除数,只在我这个程序上做改动,有没有什么好办法,在范围包括2时把2打印出来。
begin = int(input('请输入开始数:'))
end = int(input('请输入结束数:'))
while begin <= end:
for i in range(2,begin):
if begin%i == 0:
break
if (i == (begin-1)):
print(begin,end=' ')
begin += 1
虽然题目是打印素数,我写成打印质数的程序了,如果是打印质数改动最小找到思路了:
begin = int(input('请输入开始数:'))
end = int(input('请输入结束数:'))
while begin <= end:
for i in range(1,begin):
if (begin%i == 0) and (i != 1): #从1开始除,但是不打印可以整除1的,这样就可以有2了
break
if (i == (begin-1)):
print(begin,end=' ')
begin += 1
改为range(2,begin+1)
range(1,100)是取不到100的,只能取到99