我是编程新手,目前正在编写游戏(某种轮盘赌)。我有一个问题。在我的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:在字符串格式化期间并非所有参数都已转换
答案 0 :(得分:-1)
您的第二种方法很好,但是您应该将except:
行更改为except ValueError:
,以避免捕获任何其他异常(如果在try
块中扩展代码)
第一个示例的问题是int()
不能正常运行。您需要这样做:
argent_joueur = int(argent_joueur)