在python中进行链接到定义的选择

在python中进行链接到定义的选择,python,python-2.7,Python,Python 2.7,因此,这被认为是如何工作的:启动脚本,制作一个可选择的菜单,这样用户就可以选择要做什么(加、除、乘等等)。但我似乎不知道怎么做 大概是这样的: 按1添加 按2进行乘法运算 等等。我现在刚做了add定义,但我计划在做乘法和除法等操作时使用相同的模板 # Calculations def add(a, b): print "Write the numbers to add" adda = int(raw_input("First number: ")) addb = int(

因此,这被认为是如何工作的:启动脚本,制作一个可选择的菜单,这样用户就可以选择要做什么(加、除、乘等等)。但我似乎不知道怎么做

大概是这样的:

按1添加 按2进行乘法运算

等等。我现在刚做了
add
定义,但我计划在做乘法和除法等操作时使用相同的模板

# Calculations
def add(a, b):
    print "Write the numbers to add"
    adda = int(raw_input("First number: "))
    addb = int(raw_input("Second number: "))
    print "Adding %d and %d together" % (a, b)
    print "%d + %d="
    return a + b

# Choose what to do
print "Write what you want do do: add, subtract, multiply or divide"
编辑为:

# Calculations
def math(command):
    print "Write the numbers to %s" % command
    a = int(raw_input("First number: "))
    b = int(raw_input("Second number: "))
    if command == 'add':
        return a + b
    elif command == 'subtract':
        return a - b
    elif command == 'multiply':
        return a * b
    elif command == 'divide':
        return a / b
    else:
        return 'not a valid command'

# Choose what to do
print "Write what you want to do.. add, subtract, multiply or divide"
command = raw_input("Do you want to add, multiply, divide or subtract: ")

这里的问题是,它不会打印返回a+b的值。例如,我没有指向def math()的任何链接,因此我认为它不会运行。。有什么办法解决这个问题吗?

您应该使用
原始输入
来了解用户想要做什么,类似于在
add()
函数中获取数字的方式

# Choose what to do
choice = raw_input("Write what you want do do: add, subtract, multiply or divide")
if choice == 'add':
    add()
但是,由于在
add()
中,您需要用户想要添加的号码,因此您不想使用参数调用
add()
,所以请更改

def add(a, b):

稍后,当您也实现了其他功能时,您可以执行以下操作

# Choose what to do
choice = raw_input("Write what you want do do: add, subtract, multiply or divide")
if choice == 'add':
    add()
elif choice == 'subtract'
    subtract()
elif choice == 'multiply'
    multiply()
elif choice == 'divide'
    divide()
else:
    print 'not a valid choice'

我计划在做乘法和除法等时使用相同的模板

# Calculations
def add(a, b):
    print "Write the numbers to add"
    adda = int(raw_input("First number: "))
    addb = int(raw_input("Second number: "))
    print "Adding %d and %d together" % (a, b)
    print "%d + %d="
    return a + b

# Choose what to do
print "Write what you want do do: add, subtract, multiply or divide"
那样的话,你可以这样做

def dostuff(command):
    print "Write the numbers to %s" (command)
    a = int(raw_input("First number: "))
    b = int(raw_input("Second number: "))
    if command == 'add':
        return a + b
    elif command == 'subtract':
        return a - b
    elif command == 'multiply':
        return a * b
    elif command == 'divide':
        return a / b
    else:
        return 'not a valid command'

# Choose what to do
command = raw_input("Write what you want do do: add, subtract, multiply or divide")
print dostuff(command)

你应该使用<代码> RWYPixe来查找用户想要做什么,类似于你如何得到编号说明,你的加法、减法、除法和乘法例程都需要收集两个数字,所以你应该考虑写一个函数来收集输入。这将避免大量不必要的代码重复。如何返回下一步打印的值?我所编辑的内容似乎不起作用。@user3740983我认为你的意思很简单,但是将所有代码放在
dostuff()
函数和
#在
部分选择要做什么,而True:
循环中