python - 获取 int 或 str 形式的用户输入

标签 python string input int 2d

我对 python 很陌生,相信我,我一直在无休止地寻找解决方案,但我就是找不到。

我有一个包含监控图列表的 csv。使用下面的代码,我已经能够显示 2dlist 并让用户根据列表索引输入一个数字来选择特定的绘图(共有 11 个)。

但是当提示用户选择时,我想包含一个选项“...或按“q”退出”。现在显然 raw_input 设置为仅接收整数,但我如何接受列表或“q”中的数字?

如果我从 raw_ 输入中删除“int”,它会不断提示再次输入,并打印异常行。我可以让它接受索引号 (0-9) 或“q”吗?

for item in enumerate(dataList[1:]):            
    print "[%d] %s" % item

while True:
    try:
        plotSelect = int(raw_input("Select a monitoring plot from the list: "))
        selected = dataList[plotSelect+1]

        print 'You selected : ', selected[1]
        break
    except Exception:
        print "Error: Please enter a number between 0 and 9"

最佳答案

确认不是'q'后将其转换为整数:

try:
    response = raw_input("Select a monitoring plot from the list: ")

    if response == 'q':
        break

    selected = dataList[int(plotSelect) + 1]

    print 'You selected : ', selected[1]
    break
except ValueError:
    print "Error: Please enter a number between 0 and 9"

关于python - 获取 int 或 str 形式的用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16126769/

相关文章:

python - 如何将两个复杂的字典合并在一个表达式中?

python - 为什么 pip 会阻止安装可能不安全和无法验证的文件?

objective-c - Swift 版本的 Objective C rstrip : index problems

r - 从R中的格式字符串中提取数字

javascript - 检查所有文本输入是否为空,是否使用 if/else 语句显示警报?

c - 如何同时接受字符串输入?

python - TensorFlow:是否可以使用 for 循环将函数映射到数据集?

python - Linux 上 Python 中的环境变量

c++ - 将字符串转换为数组,strcpy 不起作用

jquery - 使用 jQuery 设置输入的实际值属性