我的程序类似于以下内容:

try:
    age = int(input("age : "))
    xfactor = 10 / age
except (ValueError, ZeroDivisionError):
    print("you didnt enter a valid age")
for ValueError, ZeroDivisionError in range(3):
    print("just try a number")
else:
    print("thank you")

我得到了:

TypeError: cannot unpack non-iterable int object

我希望程序发送一条消息,当用户输入错误的3次.

推荐答案

将您的代码包装在for循环中:

for i in range(3):
    try:
        age = int(input('age : '))
        xfactor = 10 / age
    except (ValueError, ZeroDivisionError):
        print('you didnt enter a valid age')
    else:
        print('thank you')
        break

Python相关问答推荐

将两个收件箱相连导致索引的列标题消失

带有Postgres的Flask-Data在调用少量API后崩溃

如何将 map 数组组合到pyspark中每列的单个 map 中

删除pandas rame时间序列列中未更改的值

PyQt5如何将pyuic 5生成的Python类添加到QStackedWidget中?

强制venv在bin而不是收件箱文件夹中创建虚拟环境

实现的差异取决于计算出的表达是直接返回还是首先存储在变量中然后返回

在应用循环中间保存pandas DataFrame

如何从具有多个嵌入选项卡的网页中Web抓取td类元素

在Python中对分层父/子列表进行排序

如何让程序打印新段落上的每一行?

如何从.cgi网站刮一张表到rame?

Python虚拟环境的轻量级使用

如何在Python脚本中附加一个Google tab(已经打开)

未知依赖项pin—1阻止conda安装""

将pandas导出到CSV数据,但在此之前,将日期按最小到最大排序

CommandeError:模块numba没有属性generated_jit''''

在Python中计算连续天数

如何使用两个关键函数来排序一个多索引框架?

Pandas:填充行并删除重复项,但保留不同的值