可能对此有一个简单的答案,但是我是新手,不知道我在做什么,因为我正在从google和reddit学习所有内容。
我的代码是:
def primefinder(z):
primenumber_list=[]
for y in range(2, z+1):
if y not in primenumber_list:
print(y)
for x in range(y*y,z+1,y):
primenumber_list.append(x)
q=input('Enter maximum:')
print(primefinder(q))
错误是这样的:
Traceback (most recent call last):
File "primenumber.py", line 9, in <module>
print(primefinder(q))
File "primenumber.py", line 3, in primefinder
for y in range(2, z+1):
TypeError: Can't convert 'int' object to str implicitly
input()
函数默认返回一个字符串作为输出,您应该使用int()
,float()
等将其显式转换为其他类型
def primefinder(z):
primenumber_list=[]
for y in range(2, z+1):
if y not in primenumber_list:
print(y)
for x in range(y*y,z+1,y):
primenumber_list.append(x)
q=int(input('Enter maximum:'))
print(primefinder(q))