【问题标题】:How to validate user input when a range is involved?涉及范围时如何验证用户输入?
【发布时间】:2020-10-22 11:54:09
【问题描述】:

您好,我正在用书来尝试学习 python,其中一个练习是问我这个问题:

3.1(验证用户输入)修改图3.3的脚本。验证其输入。对于任何输入,如果输入的值不是 1 或 2,则继续循环,直到用户输入正确的值。使用一个计数器记录通过次数,然后在收到所有用户输入后计算失败次数。

下面是脚本。关于如何使这成为可能的任何想法?

# fig03_03.py
"""Using nested control statements to analyze 
examination results."""

# initialize variables
passes = 0  # number of passes
failures = 0  # number of failures

# process 10 students
for student in range(10):
    # get one exam result
    result = int(input('Enter result (1=pass, 
2=fail): '))

    if result == 1:
        passes = passes + 1
    else:
        failures = failures + 1

# termination phase
print('Passed:', passes)
print('Failed:', failures)

if passes > 8:
    print('Bonus to instructor')

【问题讨论】:

    标签: python loops validation input range


    【解决方案1】:

    您可以使用 while 循环检查 result 是否在 [0, 1] 中。

    这是一个您可以尝试的程序:

    # fig03_03.py
    """Using nested control statements to analyze 
    examination results."""
    
    # initialize variables
    passes = 0  # number of passes
    failures = 0  # number of failures
    
    # process 10 students   
    for student in range(10):
        # get one exam result
        result = 0
        while result not in [1, 2]:
           result = int(input('Enter result (1=pass, 2=fail): '))
    
        if result == 1:
           passes = passes + 1
        else:
           failures = failures + 1
    
    # termination phase
    print('Passed:', passes)
    print('Failed:', failures)
    
    if passes > 8:
        print('Bonus to instructor')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-24
      • 1970-01-01
      • 2021-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多