Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在没有gui的情况下开发程序_Python - Fatal编程技术网

Python 在没有gui的情况下开发程序

Python 在没有gui的情况下开发程序,python,Python,我目前正在尝试创建一个程序,但需要一些帮助。我对编码还很陌生,并试图在网上找到答案。我有一个菜单,当程序被打开,一旦一个选项被调用(有6个选项),它需要打印一个表。到目前为止, defmain(): 选项=打印菜单() 打印(可选) def打印菜单(): 打印(“宇航员质量津贴计算器”) 打印(“A:显示程序选项”) 打印(“B:使用质量乘数显示目的地”) 打印(“C:显示宇航员的重量限额”) 打印(“D:计算个人质量津贴”) 打印(“E:计算平均可用质量和重量”) 打印(“X:退出”) 打印(

我目前正在尝试创建一个程序,但需要一些帮助。我对编码还很陌生,并试图在网上找到答案。我有一个菜单,当程序被打开,一旦一个选项被调用(有6个选项),它需要打印一个表。到目前为止,

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”,然后可以打印子菜单选项等。这是您的程序流程。