当用户按下Enter键时,程序循环返回启动



我正在为我的作业制作一个程序,我有一个关于某一部分的问题。

程序的一部分要求用户输入第一枚硬币,如果用户按下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

当他们没有输入实际值时,异常将被捕获,然后再次进入循环。如果他们输入了一个实数,你就会跳出的循环

最新更新