为什么我的python代码抛出ValueErrors异常?

2024-06-25 23:02:27 发布

您现在位置:Python中文网/ 问答频道 /正文

while RUN2:
    chose = int(input('Type the option number from 1 to 6:'))

    if chose == 1:
        print(grossPayMsg())
        print("Your gross pay is", grosspay(workhour, hourlywage))       

    elif chose == 2:    
        print(withHoldingsMsg())
        print("Your withholdings is", withhd(workhour, hourlywage))     

    elif chose == 3:   
        print(federalTaxMsg())
        print("Your Federal Tax is", fedtax(workhour, hourlywage)) 

    elif chose == 4:    
        print(marylandTaxMsg())
        print("Your Federal Tax is", mdtax(workhour, hourlywage))

    elif chose == 5:    
        print(netPayMsg())
        print("Your Federal Tax is", net(workhour, hourlywage))

    elif chose == 6:
        print ("Thank you for using. Goodbye!")
        RUN2 = False

    else:
        print("/////// Invalid option number ///////")

====================================================================================

Q。如何避免在按enter键而不是按期权号时出现如下错误?我知道有些用户可能会故意或意外地按回车键。。有什么声明可以避免吗?我只学了int(input)或input。。。你知道吗

ValueError:无法将字符串转换为浮点

ValueError:基数为10的int()的文本无效:“”

=============================================

事先非常感谢。。。。你知道吗


Tags: numberinputyourisintoptiontaxprint
1条回答
网友
1楼 · 发布于 2024-06-25 23:02:27

您可以通过更改此代码来删除none

if chose == 1:
        print(grossPayMsg())
        print("Your gross pay is", grosspay(workhour, hourlywage))

if chose == 1:
            grossPayMsg() # print is removed because when you use print it prints the return value of grossPayMsg()
            print("Your gross pay is", grosspay(workhour, hourlywage))

可以使用strng.isnumeric()函数检查输入的字符串是否为数字。然后转换成float并存储在workhourhourlywage

strng = input("What's your hours worked?:")
if strng.isnumeric() :
  workhour = float(strng)

相关问题 更多 >