为什么每次我试图打印时,只打印一个字母?

2024-05-20 12:28:05 发布

您现在位置:Python中文网/ 问答频道 /正文

from random import choice
print ("Enigma") 

list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
range (0,25) 

cha2 = choice(list)



complete = choice(list) 

for x in range (0, 90000):
    ("Type alphabet") 
    cha1=input() 
    print (complete) 

当我运行它并输入一个字母表时,输出的字母表与第一次相同。然而,我希望它输出一个不同的随机字母,每次我输入一个字母表。谢谢


Tags: infromimportfortypeenigmarangerandom
2条回答

克里斯·兰兹在评论里说的没错。。。你知道吗

complete = choice(list)是选择要返回的字母的行,您只能运行一次。如果希望每次都运行它,则需要将它放入while循环中:

from random import choice
print ("Enigma") 

list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']

for x in range (0, 90000):
    ("Type alphabet") 
    cha1=input() 
    complete = choice(list) # This is the key change here
    print (complete)

回答:“每次我输入一个字母表时,我希望它输出一个不同的随机字母表”

从上面,您将对照complete检查cha1,当它们相同时,继续调用choice进行更新

cha1=input() 
complete = choice(list)
while cha1 == complete:
    complete = choice(list)

相关问题 更多 >