如何在Python 3.12的for循环中使用数字?
解决Python中for循环使用数字的问题
你遇到的TypeError: 'int' object is not iterable错误,核心原因是:Python的for循环要求in后面必须是可迭代对象(比如列表、字符串、range序列这类能逐个取出元素的对象),而整数是单个值,无法被迭代遍历。
根据不同需求,有两种常见解决方法:
需求1:循环指定次数
如果是要执行某段代码3**2000次,用range()函数包裹整数即可——range(n)会生成一个从0到n-1的可迭代序列:
# 注意:3**2000是一个极大的数,循环这么多次会消耗大量资源甚至卡死,仅作语法示例 for x in range(3 ** 2000): print(x)
需求2:遍历整数的每一位数字
如果是要逐个获取3**2000结果里的每一位数字,先把整数转为字符串(字符串是可迭代对象),遍历每个字符后再转回整数:
num = 3 ** 2000 for char in str(num): digit = int(char) print(digit)
内容的提问来源于stack exchange,提问作者Dagan Thomas
相关产品推荐
相关产品推荐

