python加法计算器while循环_Python while循环永远不会结束(在numworks计算器上)

参见英文答案 >

Asking the user for input until they give a valid response                                    17个

刚抓到一个集成了python的计算器(numworks).

我正在编写一个python程序,它包含一个函数来检查输入是否是一个数字(浮点数).

当我键入一个正确的浮点数时,一切正常,但是当一个异常被捕获时,行为是:

> except块运行正常

>然后while循环重新开始,再次询问我的输入并输入一个infite循环并冻结.没时间再输入我的输入.

我不熟悉Python,我很确定这是一个简单的语法…但我没有设法解决它.

帮助将不胜感激!

这是代码:

# controle de saisie d'un nombre

def inputFloat(text):

ret = ''

while ret is not float:

try:

ret = float(input(text + " (nombre)"))

except ValueError:

print("saisie incorrecte.")

return ret

# test

def test():

print(inputFloat("saisir nombre"))

# affichage du menu

while True:

print("[1] test")

print("[0] quitter")

choix = input("Choisir une fonction:")

if choix == "0":

print("au revoir.")

break

elif choix == "1":

test()

干杯

编辑

这是代码的干净工作版本,包含了你们的所有建议.

把它推到了计算器上:就像魅力一样.

# controle de saisie d'un nombre

def inputFloat(text):

while True:

try:

return float(input(text + " (nombre)"))

except ValueError:

print("saisie incorrecte.")

continue

# test

def test():

print(inputFloat("saisir nombre"))

# affichage du menu

while True:

print("[1] test")

print("[0] quitter")

choix = input("Choisir une fonction:")

if choix == "0":

print("au revoir.")

break

elif choix == "1":

test()

break

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值