首页 > 解决方案 > 随机选字造字

问题描述

假设我想让我的名字随机变化不同。

我有 BoA 这个名字——我可以做这样的事情吗?

import random
list1=['B', '13', 'ß']
list2=['o', 'ø', 'Ö']
list3=['A', 'Ä', 'Á']
random1=random.randint(0,3)
random2=random.randint(0,3)
random3=random.randint(0,3)
print(list1[random1]+ list2[random2]+ list3[random3])

>> BøÁ

我有更简单的方法吗?我只想知道我所有的可能性是什么。另外,我确实收到此错误。如果它的常规字符它工作正常,所以我不知道如何解决这个问题。

File "main.py", line 2
SyntaxError: Non-ASCII character '\xc3' in file main.py on line 2, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

谢谢 !

标签: pythonrandom

解决方案


您可以使用random.choice,如果您想制作更长的单词,这种方法实际上并不合理(想象必须为单词长度 9 创建 9 个不同的变量等),所以我会使用 for 循环:

lists = [['B', '13', 'ß'],
         ['o', 'ø', 'Ö'],
         ['A', 'Ä', 'Á']]
word = ''
for lst in lists:
    word += random.choice(lst)
print(word)

推荐阅读