我想连续生成一个介于1到10之间的随机数,但如果生成数字9或10则停止。
我用它来获取随机数
import random
for x in range(1):
random.randint(1,10)
但是,除了
之外,我不知道如何继续if range<9 :
print("Again")
elif:
for x in range(1):
random.randint(1,10)
else:
print("End")
答案 0 :(得分:2)
您需要使用while
循环。因此,虽然True
(即永远循环),但首先生成random
个数字。然后print
无论它是什么。然后,如果此号码(rand
)位于tuple
:(9, 10
)中,即它是9
或10
,那么break
(退出)while
循环。
以下是上述步骤的代码:
import random
while True:
rand = random.randint(1, 10)
print(rand)
if rand in (9, 10):
break
对我来说,它给了随机 output
:
2
3
6
7
9
注意当它到达9
如果我们只是简单地检查if rand > 8
,就好像它通过了它,它必须是9
或10
,那么代码实际上可以写得更短,效率更高。这将使代码在处理器级别运行得更快,这将更快地处理。但是,需要注意的两件事是,如果您想要在达到其他数字时停止,例如说4
或8
,则无法执行此操作。而且,在这种规模下,效率并不值得担心。
尽管如此,您仍然可以使用以下内容来获得相同的结果:
import random
while True:
rand = random.randint(1, 10)
print(rand)
if rand > 8:
break