我是 Pycharm 和 Python 的新手,对于我的第一个项目,我决定做一个随机名称/对象选择器,它从预制的字母变量中选择一个名称并打印结果。我想对此进行扩展,让用户使用代码中的默认名称或添加他们自己的名称以供使用。我尽了最大的努力,但是当涉及到运行两个函数之一的脚本时,我无法弄清楚如何做到这一点。有什么帮助吗?import stringimport randomimport osletters = 'wjsdc' #*Default letters*choice = random.choice(letters)decision = input("Hello, use default? y/n")print("You have chosen " + decision + ", Running function.")def generator():if decision == "y": #*Default function* choice = random.choice(letters) print("Name chosen is " + generator())elif decision == "n": #*Attempted new function* new_name1 = input("Please add a name") new_name2 = input("Please add a name") new_name3 = input("Please add a name") new_name4 = input("Please add a name") new_name5 = input("Please add a name") if choice == "w": finalname = new_name1 elif choice == "j": finalname = new_name2 elif choice == "s": finalname = new_name3 elif choice == "c": finalname = new_name4 elif choice == "d": finalname = new_name5 name = finalname return nameprint("Name chosen is " + name)def generator(): #*Default function script* if choice == "w": finalname = "Wade" elif choice == "j": finalname = "Jack" elif choice == "s": finalname = "Scott" elif choice == "d": finalname = "Dan" elif choice == "c": finalname = "Conall" name = finalname return nameprint("Name chosen is " + generator())
1 回答

qq_花开花谢_0
TA贡献1835条经验 获得超7个赞
你的代码很奇怪,我不确定你想要实现什么。
你定义了两个函数
generator
;你应该给他们不同的名字而不是从一个字母中选择一个,然后相应地选择“长”名称,而是首先从名称列表中选择
您可以为不同的用户输入名称使用列表
我建议使用这样的东西:
import random
def generate_name():
names = "Wade", "Jack", "Scott", "Dan", "Conall"
decision = input("Use default names? Y/n ")
if decision == "n":
print("Please enter 5 names")
names = [input() for _ in range(5)]
return random.choice(names)
print("Name chosen is " + generate_name())
添加回答
举报
0/150
提交
取消