如何在Python 3.6

时间:2017-09-13 05:49:35

标签: python loops input user-input python-3.6

关于Python 3.6没有提出这个问题。 我需要一个解决方案,在一系列输入问题中重新提示特定的用户输入问题,如果在这种情况下数据是除了整数或浮点数之外的任何其他内容。

让我们说他们为第一个问题输入了正确的浮点数据,但是让我们说在第二个问题中输入一个字符串字符。这会输出一个" ValueError:无法将字符串转换为float:"。

有没有办法使用循环或其他方法重新提示SECOND输入问题,他们未能将整数/浮点数据放入?此外,您是否可以仅重新提示第二个问题,而不必重新开始并重新提示第一个问题?

counter = 0
counter += float(input("What is number 1?"))
counter += float(input("What is number 2?"))
counter += float(input("What is number 3?"))
print(counter)

编辑:我确实阅读了包含9个答案的已发布文章,这些答案相似,但没有一个一个接一个地处理多个输入问题。提供的答案很有帮助,但在输入错误的数据类型后,我仍然没有完全了解如何重新提示第2或第3个问题。总结:我希望程序重新提示失败的问题,而不是让用户必须从问题1开始。

1 个答案:

答案 0 :(得分:0)

像这样的伪代码会起作用:

for q in questions:
    while True:
        ask_question
        if question_result_validated:
            break