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

时间:2014-10-10 19:11:35

标签: string python-3.x int

我试图为我的作业制作一个程序,我对某个部分有疑问。

程序的一部分要求用户输入第一枚硬币,如果用户按下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?我尝试在互联网上搜索它,但我无法解决我的问题。

1 个答案:

答案 0 :(得分:0)

使用无限循环可以突破并捕获异常

while True:
   try:
       coin = int(input("Enter coin: "))
       break
   except ValueError:
       continue

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