在python中进行链接到定义的选择
因此,这被认为是如何工作的:启动脚本,制作一个可选择的菜单,这样用户就可以选择要做什么(加、除、乘等等)。但我似乎不知道怎么做 大概是这样的: 按1添加 按2进行乘法运算 等等。我现在刚做了在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(
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:
循环中