3 回答
TA贡献1794条经验 获得超7个赞
问题在于 != 和 == 运算符。
“randnums”是元素列表。您无法将单个值与整个列表进行比较。相反,您想要检查该值是否在列表中。
您可以使用“in”和“not in”运算符来做到这一点,因此您的代码将如下所示:
import numpy as ny
randnums = ny.random.randint(1,101,15)
print(randnums)
target = int(input("Please pick a random number: "))
for counter in range(0,15):
while target not in randnums:
print("This number is not in the list")
target = int(input("Please pick a random number: "))
else:
if target in randnums:
print("The number" , target , "has been found in the list.")
TA贡献1815条经验 获得超13个赞
较短的版本:
import numpy as ny
randnums = ny.random.randint(1, 101, 15)
while True:
target = int(input('Please pick a random number: '))
if target in randnums:
print(f'The number {target} has been found in the list')
break
else:
print('This number is not in the list')
TA贡献1891条经验 获得超3个赞
正如所提供的输出所解释的,问题出在代码的第 9 行。
while target != randnums:
这将检查target
变量是否不等于 randnums 变量(一个 numpy 数组)。
你真正想要的是这个
while target not in randnums:
randnums
如果变量的值target
是 numpy 数组中的值之一 ,它将迭代变量并返回一个布尔值randnums
。
添加回答
举报