【发布时间】:2022-10-14 22:52:04
【问题描述】:
我想创建一个带有编号的菜单选项的 python 菜单,当您选择其中一个选项时,旁边会出现一个 x 以表明该特定选项已被选中。然后,如果用户再次选择该选项,我希望 x 消失以表明该选项不再被选中。
以下是我希望我的程序执行的示例图像:
-
When selected again, the option becomes blank again.
到目前为止,这是我的测试代码:
test = print("1. Normal Character Generator({})".format("")) test2 = print("2. Advanded Appearance Generator({})".format("")) def normalGenerationTrue(): test = print("1. Normal Character Generator({})".format("X")) while True: try: selection = int(input("Please choose one of the menu options.\n")) if selection == 1: normalGenerationTrue() new = input("Would you like to make another selection?").lower() if new == "yes": print(test) elif new == "no": break elif selection == 2: advancedGenerationTrue() break else: print("Invalid Choice. Enter one of the menu numbers.") test = print("1. Normal Character Generator({})".format("")) test2 = print("2. Advanded Appearance Generator({})".format("")) except ValueError: print("Invalid Choice. Enter one of the menu numbers.")
【问题讨论】:
-
首先,您应该保留一些变量,然后选择哪个元素,然后您应该使用
if/else与菜单上的每个元素来检查它是否需要X。或者,您应该将此信息保留在某个列表中 - 对于每个元素,保留X或空字符串。 -
print()总是给出None- 所以分配test = print(...)是没有用的,因为它总是意味着test = None。如果您想将文本分配给变量,那么您应该直接使用test = "1....".format("")。然后打印它print(test)。但是你应该使用变量"1....".format(variable_for_menu_1)来改变它。 -
顺便说一句:在许多程序中,我在
[ ]的行首看到(我更喜欢)X- 就像[X] 1. ...和下一行[ ] 2. ...- 这样所有[X][ ]都相同柱子。
标签: python python-3.x