这个问题可能有一个简单的答案,但我是新手,不知道我在做什么,因为我正在从谷歌和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))