如果用户输入1、2或3并执行该功能,它将再次询问他们的选择,我该如何循环回答?

2024-09-28 22:34:38 发布

您现在位置:Python中文网/ 问答频道 /正文

  1. 允许用户提交配对
  2. 允许用户删除配对
  3. 允许用户提交最终配对

如何编辑程序,以便用户(在完成1、2或3之后)再次提出相同的问题?(问题=用户选择)

clue_list = {'#':'A', '%':'N', '*':'M'}

user_selection = input('What would you like to do? 1.Submit a letter or symbol pairing,     2.Delete a letter/symbol pairing, 3. Submit Final Answers ')
while user_selection != '3':
if user_selection == '1':
    userkey = input('Please enter a symbol to add: ')
    uservalue = input('Please enter a letter to add: ')
    if userkey in clue_list:
        print('This symbol has already been matched. Please try again.')
    else:
        clue_list[userkey] = uservalue
    print(clue_list)
if user_selection == '2':
    user_delete_input = input('What letter/symbol would you like to delete? (Please enter symbol to delete the pairing ')
    if user_delete_input in clue_list:
        del clue_list[user_delete_input]
        print('That letter/symbol has been deleted.')
    else:
        print('Error: That letter/symbol has not been found in file.')                

user_submit1 = input('Would you like to submit more pairings? Yes/No ')
if user_submit1 == 'Yes':
    function_result2 = submit(clue_list)
else:
    if user_submit1 == 'No':
       print('...')

Tags: to用户youinputifsymboldeletelist
1条回答
网友
1楼 · 发布于 2024-09-28 22:34:38

你问题的关键是让选拔过程重演。如果你学会用函数抽象出部分代码,你可以很容易地做到这一点。例如,您的问题可能的答案如下:

while True:
    user_selection = input(msg_ask).strip()
    if   user_selection == '1': add_symbol(clue_list)
    elif user_selection == '2': remove_symbol(clue_list)
    elif user_selection == '3': break

其中我们定义了add_symbolremove_symbol函数,如下所示:

^{pr2}$

您会注意到第一个代码块是多么的容易阅读。在

相关问题 更多 >