我正在尝试创建一个游戏“STOP”,它会排序或绘制一个随机数,然后返回一个字母。字母表有 25 个字母,每个数字都是一个字母。
我希望每个字母都打印出来不再重复,并且随机选择不同的字母。
这是我的代码
import random
def let (ordem):
if ordem == 0:
return 'A'
elif ordem == 1:
return 'B'
elif ordem == 2:
return 'C'
elif ordem == 3:
return 'D'
elif ordem == 4:
return 'E'
elif ordem == 5:
return 'F'
elif ordem == 6:
return 'G'
elif ordem == 7:
return 'H'
elif ordem == 8:
return 'I'
elif ordem == 9:
return 'J'
elif ordem == 10:
return 'K'
elif ordem == 11:
return 'L'
elif ordem == 12:
return 'M'
elif ordem == 13:
return 'N'
elif ordem == 14:
return 'O'
elif ordem == 15:
return 'P'
elif ordem == 16:
return 'Q'
elif ordem == 17:
return 'R'
elif ordem == 18:
return 'S'
elif ordem == 19:
return 'T'
elif ordem == 20:
return 'U'
elif ordem == 21:
return 'V'
elif ordem == 22:
return 'W'
elif ordem == 23:
return 'X'
elif ordem == 24:
return 'Y'
elif ordem == 25:
return 'Z'
for l in range(1):
ordem = random.randrange(25)
abc = let(ordem)
print(f'A letra sorteada foi *{abc}*')
为此,您有两种基本方法:
第二种方法更容易做到,特别是通过预先洗牌列表:
import string
import random
letters = list(string.ascii_uppercase) # list of letters in alphabet order
random.shuffle(letters) # list of letters in random order
letters.pop() # the first random letter
letters.pop() # the next random letter
每次弹出,字母列表都会缩小,因此您不能两次获得相同的字母。