带有random.randint的Python if/elif问题
这是一个更大问题的一部分,但我对这个if/elif函数有一些问题带有random.randint的Python if/elif问题,python,python-3.x,Python,Python 3.x,这是一个更大问题的一部分,但我对这个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.")
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()
当我运行这个时,我得到的是randint数字,0代表分数。我不确定我到底做错了什么。是的,嗯。。。这不是它的工作原理。您正在将整数与列表进行比较
if 0 <= i < 20:
print("You caught nothing!")
elif 20 <= i < 40:
print("You caught a Minnow! +10 points.")
score += 10
如果0是的,嗯。。。这不是它的工作原理。您正在将整数与列表进行比较
if 0 <= i < 20:
print("You caught nothing!")
elif 20 <= i < 40:
print("You caught a Minnow! +10 points.")
score += 10
如果0将整数与列表进行比较
if 0 <= i < 20:
print("You caught nothing!")
elif 20 <= i < 40:
print("You caught a Minnow! +10 points.")
score += 10
要做你想做的事,有一种方法:
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
您正在将整数与列表进行比较
if 0 <= i < 20:
print("You caught nothing!")
elif 20 <= i < 40:
print("You caught a Minnow! +10 points.")
score += 10
要做你想做的事,有一种方法:
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
您要做的是:
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
如果i<20:
打印(“你什么也没抓到!”)
其他:
打印(“你捉到了一条小鱼!+10点。”)
分数+=10
您要做的是:
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
如果i<20:
打印(“你什么也没抓到!”)
其他:
打印(“你捉到了一条小鱼!+10点。”)
分数+=10
i
是一个int
,如果要将int
与int
列表进行比较,您应该:
if i in range(19)
...
elif i in range(20,39):
i
是一个int
,如果要将int
与int
列表进行比较,您应该:
if i in range(19)
...
elif i in range(20,39):
您的问题与random.randint
无关,与if/elif逻辑无关;这与比较数值有关。清楚地思考你期望的i==[0,19]
是什么意思,以及为什么它应该是这个意思。你的问题与random.randint
无关,与if/elif逻辑无关;这与比较数值有关。清楚地想想你期望的i==[0,19]
是什么意思,以及为什么它应该是这个意思。