Python中if/elif与random.randint的问题
这是一个更大问题的一部分,但我在这个 if/elif 函数上遇到了一些麻烦。
def fish():
import random
score = 0
i = random.randint(0,39)
if i == [0,19]:
print("You caught nothing!")
elif i == [20,39]:
print("You caught a Minnow! +10 points.")
score += 10
print(i)
print(score)
fish()
当我运行这个代码时,我得到的只是一个随机整数,还有分数为 0。我不太确定我哪里出错了。
4 个回答
0
你想要做的是:
if i in range(20):
print("You caught nothing!")
elif i in range(20,40):
print("You caught a Minnow! +10 points.")
score += 10
或者也许这样更好:
if i < 20:
print("You caught nothing!")
else:
print("You caught a Minnow! +10 points.")
score += 10
6
嗯...这不是正确的做法。你把一个整数和一个列表在比较。
if 0 <= i < 20:
print("You caught nothing!")
elif 20 <= i < 40:
print("You caught a Minnow! +10 points.")
score += 10
1
你正在把一个整数和一个列表进行比较。
如果你想实现你所想要的功能,这里有一种方法:
if i in range(0, 20):
print("You caught nothing!")
elif i in range(20, 40):
print("You caught a Minnow! +10 points.")
score += 10