运行 基于用户输入的不同功能
Running different functions based on the user's input
我是 Pycharm 和 Python 的新手,对于我的第一个项目,我决定做一个随机的 name/object 选择器,它从制作字母变量并打印结果。
我想对此进行扩展,让用户在代码中使用默认名称或添加他们自己的名称以供使用。
我尽了最大的努力,但是当涉及到两个函数的脚本 运行 1 时,我无法弄清楚如何做到这一点。
有帮助吗?
import string
import random
import os
letters = '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 name
print("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 name
print("Name chosen is " + generator())
你的代码很奇怪,我不确定你想要实现什么。
- 你定义了两个函数
generator
;你应该给他们不同的名字
- 不是从其中一个字母中选择然后相应地选择 "long" 名字,而是首先从名字列表中选择
- 您可以为不同的用户输入的名称使用一个列表
我建议使用这样的东西:
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())
我是 Pycharm 和 Python 的新手,对于我的第一个项目,我决定做一个随机的 name/object 选择器,它从制作字母变量并打印结果。 我想对此进行扩展,让用户在代码中使用默认名称或添加他们自己的名称以供使用。 我尽了最大的努力,但是当涉及到两个函数的脚本 运行 1 时,我无法弄清楚如何做到这一点。 有帮助吗?
import string
import random
import os
letters = '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 name
print("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 name
print("Name chosen is " + generator())
你的代码很奇怪,我不确定你想要实现什么。
- 你定义了两个函数
generator
;你应该给他们不同的名字 - 不是从其中一个字母中选择然后相应地选择 "long" 名字,而是首先从名字列表中选择
- 您可以为不同的用户输入的名称使用一个列表
我建议使用这样的东西:
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())