Python刷新登录系统代码

时间:2017-05-30 14:59:13

标签: python

我正在寻找一种方法 - 在您选择了想要查看的内容(main_screen_choice)之后 - 无需重新启动程序即可选择其他内容。这是我的代码

users = []
victims = ['John Smith', 'Karen Jones', 'Kevin Tomlinson']
print ('>>>>> RauCo. Protection Corp. <<<<<')
user = input('Username: ')
def storeUser():
  users.append(user)
def check():
  if user == 'Cabbage':
    storeUser()
    print ('Welcome back, Master...')
  else:
    print ('INTRUDER')
    exit()
check()
main_screen_choice = input('What do you want to do? \nVictims, To Do, 
Exit\n(Case Sensitive!): ')
def checkMainChoice():
 if main_screen_choice == 'Victims':
   print (victims)
 elif main_screen_choice == 'To Do':
   print ('Have a shower - you stink!')
 elif main_screen_choice == 'Exit':
   exit()
 else:
   print ('Error: Not a valid option, please run program again')
checkMainChoice()

1 个答案:

答案 0 :(得分:1)

只需反复回到您要求输入的位置并运行相应的行为。

这通常使用while循环实现。因此,您的代码将如下所示:

while True:
    main_screen_choice = input('What do you want to do? \nVictims, To Do,
        Exit\n(Case Sensitive!): ')
    checkMainChoice()

但我不喜欢全局变量,我建议你给checkMainChoice函数一个参数:

def checkMainChoice(choice):
    if choice == 'Victims':
        print (victims)
    elif choice == 'To Do':
        print ('Have a shower - you stink!')
    elif choice == 'Exit':
        exit()
    else:
        print ('Error: Not a valid option, please run program again')

然后,while循环将成为:

while True:
    main_screen_choice = input(...)
    checkMainChoice(main_screen_choice)

作为旁注的几个评论:

  • Python中的缩进通常是四个空格。此外,您确实需要跳过行以使代码可读。
  • Python中的用法是命名mixedCase中的变量和lower_case_with_underscores中的方法/函数。
  • 您通知选项区分大小写,这对于那种文本菜单来说并不是很舒服。您可以使用lower方法设置小写输入,轻松解决此问题:choice = input(...).lower()。然后,您将输入与小写字符串进行比较:'to do''exit' ...