我有一个代码:
import random
vowels, consonants='aeiou','bcdfghjklmnpqrstvwxyz'
terms = int(input("How many letters you want for your baby's name? "))
def babyname():
j=[]
for i in range(0, terms):
k = input("Would you like a [v]owel or [c]onsonant: ")
if k.lower() == 'v':
j.append(random.choice(vowels))
elif k.lower() == 'c':
j.append(random.choice(consonants))
else:
print("Unknown Input: "+ k)
for x in range(0, 10):
print(''.join(j))
babyname()
输入: 我可以输入一个数字,例如 5 表示字母数,v 或 c 表示字母数。
预期输出: 对于输入,我想生成生成的文本 j
10 次,每次使用不同的文本。对于示例输入,预期输出应该是 - sdfes gdadf nkadj 就像这 10 个单词。
产生的输出: 我没有得到 10 个不同的文本,而是得到类似 sdfes sdfes sdfes 的输出 - 相同的文本 10 次。
如何解决这个问题?
原文由 Andrew 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果你想打印 10 个不同的名字,但只问一次元音或常量问题,你可以这样做:
编辑: 请注意,如果您不使用上面的代码输入
v
或c
,它会告诉您 10 次它是错误的,并且只有在您提供所有输入之后。因此,这样的事情可能是更好的方法: