Python 在没有gui的情况下开发程序
我目前正在尝试创建一个程序,但需要一些帮助。我对编码还很陌生,并试图在网上找到答案。我有一个菜单,当程序被打开,一旦一个选项被调用(有6个选项),它需要打印一个表。到目前为止,Python 在没有gui的情况下开发程序,python,Python,我目前正在尝试创建一个程序,但需要一些帮助。我对编码还很陌生,并试图在网上找到答案。我有一个菜单,当程序被打开,一旦一个选项被调用(有6个选项),它需要打印一个表。到目前为止, defmain(): 选项=打印菜单() 打印(可选) def打印菜单(): 打印(“宇航员质量津贴计算器”) 打印(“A:显示程序选项”) 打印(“B:使用质量乘数显示目的地”) 打印(“C:显示宇航员的重量限额”) 打印(“D:计算个人质量津贴”) 打印(“E:计算平均可用质量和重量”) 打印(“X:退出”) 打印(
defmain():
选项=打印菜单()
打印(可选)
def打印菜单():
打印(“宇航员质量津贴计算器”)
打印(“A:显示程序选项”)
打印(“B:使用质量乘数显示目的地”)
打印(“C:显示宇航员的重量限额”)
打印(“D:计算个人质量津贴”)
打印(“E:计算平均可用质量和重量”)
打印(“X:退出”)
打印(“输入A、B、C、D、E或X以继续:”)
main()
一旦输入了一个字母,我如何调用其余的字母?在代码
打印菜单中,
不会返回任何内容。因此,choice=printMenu()
是无用的。您应该使用or(取决于python版本)读取用户输入,然后使用
如果选项==“A”:
displayProgramOptions()
elif选项==“B”:
// ...
其他:
打印(“未知选项”)
或者使用可以将字符串映射到函数的dict
。即
funcs={
“A”:显示程序选项,
“B”:用质量乘数显示目标,
// ...
}
如果在funcs中选择:
funcs[choice]()
其他:
打印(“未知选项”)
我从您的问题中了解到,您希望用户查看打印的菜单并选择一个选项。然后根据用户的输入,您希望您的程序进一步执行操作。如果这是您所期望的,那么我建议从菜单选项中删除最后一次打印,使其成为“输入”的一部分,并按如下方式使用:
def main ():
printMenu()
ip = input("Enter A, B, C, D, E or X to proceed:")
#do what you want with this option
print("you entered: " + ip)
def printMenu ():
print("Astronaut Mass Allowance Calculator")
print("A: Display Program options")
print("B: Display Destinations with Mass Multipliers")
print("C: Display Weight allowances for astronauts")
print("D: Calculate Personal Mass allowances")
print("E: Calculate Average Available mass and weight")
print("X: Exit")
#Last line removed from here
main()
为了捕获响应,可以使用input()函数。你需要进一步的帮助吗
def main ():
choice = printMenu()
print (choice)
# Do something here with the choice, as P.Dmitry suggests.
def printMenu ():
print("Astronaut Mass Allowance Calculator")
print("A: Display Program options")
print("B: Display Destinations with Mass Multipliers")
print("C: Display Weight allowances for astronauts")
print("D: Calculate Personal Mass allowances")
print("E: Calculate Average Available mass and weight")
print("X: Exit")
return input("Enter A, B, C, D, E or X to proceed:")
main()
我会将逻辑分解为单独的函数,这样它们可以各自输出自己的信息:
def A():
print('A CODE HERE')
def B():
print('B CODE HERE')
def C():
print('C CODE HERE')
def D():
print('D CODE HERE')
def E():
print('E CODE HERE')
def X():
quit()
def main():
choice = printMenu()
print('YOU CHOSE:', choice)
if choice == 'A':
A()
elif choice == 'B':
B()
elif choice == 'C':
C()
elif choice == 'D':
D()
elif choice == 'E':
E()
elif choice == 'X':
X()
def printMenu():
print("Astronaut Mass Allowance Calculator")
print("A: Display Program options")
print("B: Display Destinations with Mass Multipliers")
print("C: Display Weight allowances for astronauts")
print("D: Calculate Personal Mass allowances")
print("E: Calculate Average Available mass and weight")
print("X: Exit")
# Collect input from the user.
choice = input("Enter A, B, C, D, E or X to proceed: ")
# Return the input.
return choice.upper()
while True: # Infinitely display the choice menu
main()
在打印功能中有一个开关盒,并创建相应的表格。在每个开关大小写选项中添加break,以防止执行其他选项。python中没有开关大小写。如果用户选择了如何让它再次打印“打印菜单”?如果用户选择了如何让它再次打印“打印菜单”?则必须实现if-elseif-else类型代码@vivace,一旦用户在变量ip中输入,您就可以做出决定。例如,您可以检查ip==“A”,然后可以打印子菜单选项等。这是您的程序流程。