我在使用int()函数时遇到问题

时间:2019-07-22 09:09:27

标签: python

我是编程新手,目前正在编写游戏(某种轮盘赌)。我有一个问题。在我的try块中,当我直接使用int()函数为“ argent_joueur”提供值时,它不会引起任何问题。但是,当我为变量分配一个字符串值然后尝试将其转换为int时,它似乎不起作用。你能帮我这个吗? 另外,您是否有比我尝试重复的try / except块更好的建议? 先感谢您。

这似乎不起作用:

valid_argent_joueur = False

while not valid_argent_joueur:
    try:
        argent_joueur=input("Combien d'argent jouez vous ?")
        int(argent_joueur)
        valid_argent_joueur=True
    except:
        print("Veuillez entrer un nombre positif")     

此功能正常运行:

valid_argent_joueur = False

while not valid_argent_joueur:
    try:
        argent_joueur=int(input("Combien d'argent jouez vous ?"))
        valid_argent_joueur=True
    except:
        print("Veuillez entrer un nombre positif")  

使用第一种方法时,我会收到类似以下的错误消息:

  

TypeError:在字符串格式化期间并非所有参数都已转换

1 个答案:

答案 0 :(得分:-1)

您的第二种方法很好,但是您应该将except:行更改为except ValueError:,以避免捕获任何其他异常(如果在try块中扩展代码)

第一个示例的问题是int()不能正常运行。您需要这样做:

argent_joueur = int(argent_joueur)