Python如何合并if语句生成的随机辅音、元音列表以生成完整单词
解决方案
核心逻辑是将两次生成的随机字符列表先存入变量,再合并输出,不要直接调用print打印单次生成结果,避免两次random.sample生成的结果无法关联。同时对原代码中辅音的拼写错误做了修正。
完整修改后代码
import random num_of_cons = input("单词需要多少个辅音:1-3个输入a,4-7个输入b,7-10个输入c? ") num_of_vows = input("单词需要多少个元音:1-3个输入a,3-5个输入b? ") vowels = ("a", "e","i", "o","u") consonants = ("b","c","d", "f", "g", "h", "j", "k", "l", "m", "n", "p") # 生成辅音列表并存储 cons_list = [] if num_of_cons == "a": cons_list = random.sample(consonants, random.randint(1,3)) elif num_of_cons =="b": cons_list = random.sample(consonants, random.randint(4,7)) elif num_of_cons == "c": cons_list = random.sample(consonants, random.randint(7,10)) # 生成元音列表并存储 if num_of_vows == "a": vow_list = random.sample(vowels, random.randint(1,3)) else: vow_list = random.sample(vowels, random.randint(3,5)) # 合并两个列表 combined_list = cons_list + vow_list # 可选操作:打乱合并后字符的顺序,让单词结构更自然 random.shuffle(combined_list) # 输出结果 print("合并字符列表:", combined_list) print("生成的单词:", ''.join(combined_list))
输出示例
单词需要多少个辅音:1-3个输入a,4-7个输入b,7-10个输入c? a 单词需要多少个元音:1-3个输入a,3-5个输入b? a 合并字符列表: ['k', 'i', 'j', 'm', 'a', 'u'] 生成的单词: kijmau
内容的提问来源于stack exchange,提问作者maison
相关产品推荐
相关产品推荐

