首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在不使用循环并在输入不正确时退出的情况下只验证整数?

如何在不使用循环并在输入不正确时退出的情况下只验证整数?
EN

Stack Overflow用户
提问于 2018-06-10 04:17:55
回答 1查看 47关注 0票数 0

我试图让这段简单的代码只接受来自(0,100)的整数和数字。我不想使用循环来验证我的输入,并希望它们只带着“无效输入”退出。我被这个部分卡住了,因为当我没有有效的输入时,我似乎不能离开("Letter grade:")部分。当我输入字母时,消息不会出现。

这是我目前所掌握的.我是一个初学者,如果有人能帮助我就太好了:)

代码语言:javascript
复制
def convert_grade_to_letter(number_grade):
    letter_grade = ''


    if number_grade >= 90 and number_grade <= 100:
        letter_grade = 'A'
    elif number_grade >= 80:
        letter_grade = 'B'
    elif number_grade >= 70:
        letter_grade = 'C'
    elif number_grade >= 60:
        letter_grade = 'D'
    elif number_grade < 60 and number_grade >= 0:
        letter_grade = 'F'
    else:
        print("invalid input")
    return letter_grade

def main():
    number_grade = int(input("Input number grade: "))
    letter_grade = convert_grade_to_letter(number_grade)
    print("Letter grade: " + letter_grade)

main()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-10 04:22:45

考虑捕获ValueError异常来验证您的成绩,包括整数验证和0-100范围验证:

代码语言:javascript
复制
try:
    number_grade = int(input("Input number grade: "))
    is_valid = 0 <= number_grade <= 100
    if not is_valid:
        raise ValueError("Number grade is not in the 0-100 range.")

    letter_grade = convert_grade_to_letter(number_grade)
    print("Letter grade: " + letter_grade)

except ValueError:
    print("Could not parse grade")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50778180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档