我正在为我的作业制作一个程序,我有一个关于某一部分的问题。
程序的一部分要求用户输入第一枚硬币,如果用户按下ENTER键,则应重申程序,要求用户再次输入第一枚货币,直到他们实际输入数字。
我现在有这个部分的代码是:
coin = int(input("Enter first coin: ))
while coin == "":
coin = int(input("Enter first coin: ))
我知道这里的问题是,我试图将空字符串作为int,这会产生一个错误:
Traceback (most recent call last):
builtins.ValueError: invalid literal for int() with base 10: ''
所以我的问题是,我该如何更改程序,以便将空字符串更改为int?我试着在网上到处找,但我解决不了我的问题。
使用一个无限循环,您可以突破并捕获异常
while True:
try:
coin = int(input("Enter coin: "))
break
except ValueError:
continue
当他们没有输入实际值时,异常将被捕获,然后再次进入循环。如果他们输入了一个实数,你就会跳出的循环