Python程序,允许用户从列出的项目中挑选

时间:2015-11-19 15:52:28

标签: python list choice

注意:这是我在python中编写的第一个程序。我有visual basic和Q basic的经验。感谢您的回复!

概述:在这个程序中,我希望用户输入一个选定的选项,然后通过下一个选项屏幕提示(当前不在,但我正在使用print('End Test')来举例说明这一点) 。我想允许用户能够输入单词的大写或小写形式。例如:用户在第一个提示符下键入“gun”。然后屏幕将清除(尚未实现),然后将通过另一个选项显示枪类型的选择。最终作为完成的程序,我希望用户能够进入枪上的枪,类型和模型的选择,并能够查看制作所选枪的类型所需的材料。

问题:1)我想包含列表,因为程序最终会允许用户返回并再次选择。那么我怎么能使用一个列表或者还有其他什么来更好地适应这项工作。

2)如何创建清除屏幕的功能?

3)如何确保用户可以输入“gun”,“Gun”或“GUN”,程序将不区分大小写,并允许任何包含该顺序中的字母g,u和n的条目继续到下一个提示。

测试的想法:1)尝试将程序定义为wc。

2)使用Try / Except / Else代替while循环。

3)我之前曾尝试为选择提示制作列表,但发现它们比当时的价值更多。

当前问题:到目前为止我编写的内容非常简单,并且大部分内容都可以使用。只有用户对第一选择的输入似乎只允许“枪”而不是“枪”。该程序一旦到达终点就永远不会打印出“结束测试”。

当前代码:

# Fallout 4 Weapons Mod's, Including the stat improvements, materials required
# and any levels of perks needed.
wc = ''
print()
print()
print()
print('Fallout Weapon Mods Planner!')
print()
print()
print()
print('Enter one of the following:')
print()
print('* Gun')
print()
while wc != 'Gun' or 'gun':
    wc = input('Choice: ')
    if wc == 'Gun': 
        print('* Pistols')
        print('* Rifles')
        print('* Shotguns')
        print('* Submachine Guns')
        print('* Heavy Weapons')
        print('* Energy Weapons')
        print('* Plasma Weapons')
        print('* Other')
        wc = input('Choice: ')
        break
    else:
        print('Invalid entry, be sure to use correct spelling.')
        continue

        print('End Test')

1 个答案:

答案 0 :(得分:0)

  1. 您的代码仅明确测试wc=="Gun";如果您还想接受"gun",则需要更改该测试。
  2. 由于print('End Test')的缩进方式,它是else块的最后一部分;因为它只是在continue语句之后才会出现,所以永远不会达到它。