根据用户输入运行不同的功能

时间:2018-11-14 16:35:37

标签: python function pycharm new-operator

我对Pycharm和整个Python还是陌生的,对于我的第一个项目,我决定做一个随机的名称/对象选择器,该选择器从预制的字母变量中选择一个名称并打印结果。 我想对此进行扩展,并让用户在代码中使用默认名称,或者添加他们自己的名称以供使用。 我尽了最大的努力,但是当脚本运行两个功能中的一个时,我无法弄清楚该怎么做。 有帮助吗?

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())

1 个答案:

答案 0 :(得分:0)

您的代码很奇怪,我不确定您要实现什么。

  • 您定义了两个函数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())