开发者社区> 问答> 正文

我分配了str(“ exit”)来中断while循环并引发转换错误?

我试图在try-except块中用用户输入“ exit”打破while循环,在该块中输入被转换为float。

我的代码当前如下所示:

def checkGrade():
while True:
    try:
        floatGrade = float(input("Enter student grade: "))
        if floatGrade == 100:
            return("A+")
        # I go down the list of grades to F after this if.
    except:
        if floatGrade == "exit": 
    # This is where I want the code to break, but it gives me an error when I print the function def checkGrade()
            break
        else:
            continue

我得到一个错误

无法将字符串转换为float:“退出”

有什么想法吗?在此先感谢您的帮助!

问题来源:stackoverflow

展开
收起
is大龙 2020-03-23 20:21:21 452 0
1 条回答
写回答
取消 提交回答
  • 我将重组代码以首先收集输入,然后尝试在try / except中将其转换为float,因此,如果失败,则保留原始输入值。

    def checkGrade():
        while True:
            floatGrade = input("Enter student grade: ")
            try:
                floatGrade = float(floatGrade)
            except ValueError:
                if floatGrade == "exit":
                    break
            else:
                if floatGrade == 100:
                    return("A+")
    

    回答来源:stackoverflow

    2020-03-23 20:21:26
    赞同 展开评论 打赏
问答分类:
Go
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载