为了账号安全,请及时绑定邮箱和手机立即绑定

如何在循环下检查整数?

如何在循环下检查整数?

慕田峪7331174 2021-03-31 14:11:18
fqas = Nonewhile fqas not in ("yes", "no", "Yes", "No"):    fqas = input(">>> [yes/no]: ")    if fqas.lower() == "yes":         print("\nAwesome! Current pay: $", base_pay + 50)    elif fqas.lower() == "no":        fqas_no = int(input("if not, how much do you think she deserve? \n>>> "))        if 50 <= fqas_no :            print("AMAZINGGGG! current pay: $", base_pay + fqas_no)            continue        elif fqas_no <= 50 :            print("That's cool, current pay: $", base_pay + fqas_no)            continue        except ValueError:            print("Numbers only please")如何添加最后一个循环以检查下的整数fqas_no?我已经检查了范围,但是我无法让它检查整数。SyntaxError当我尝试使用时,我得到一个无效的信息ValueError。该代码可以正常工作,除了:        except ValueError:             print("Numbers only please")
查看完整描述

3 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

在获得有效(或无效)输入之前,您已经知道如何循环。要检测整数,您可以尝试将输入转换为int


try:

    value = int(fqas_no)

except:

    # loop around to try again

更好的是,使用内置方法


if fqas_no.isdigit():


查看完整回答
反对 回复 2021-04-13
?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

查看有关异常处理的文档。您需要包含一条try声明:


try:

    if 50 <= fqas_no :

        #etc

except ValueError:

    print("Numbers only please")

这两个在一起。只是except不正确的语法。


旁注,您应该调用lower()输入本身。这样,您的代码将更加简洁:


while fqas not in ["yes", "no"]:

    fqas = input(">>> (yes/no): ").lower()

    if fqas == "yes":

        #etc


查看完整回答
反对 回复 2021-04-13
?
郎朗坤

TA贡献1921条经验 获得超9个赞

没有尝试的除外部分似乎是您的问题。


base_pay = 1000

fqas = None

while fqas not in ("yes", "no", "Yes", "No"):

    fqas = input(">>> [yes/no]: ")


    if fqas.lower() == "yes":

        print("\nAwesome! Current pay: $", base_pay + 50)

    elif fqas.lower() == "no":

    try:

        fqas_no = int(input("if not, how much do you think she deserve? \n>>>"))

    except ValueError:

        print('Numbers only please')

        break


    if 50 <= fqas_no:

        print("AMAZINGGGG! current pay: $", base_pay + fqas_no)

        continue


    elif fqas_no <= 50:

        print("That's cool, current pay: $", base_pay + fqas_no)

        continue

这应该可以解决您的问题。


查看完整回答
反对 回复 2021-04-13
  • 3 回答
  • 0 关注
  • 177 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号