Python类型转换

Mob*_*y04 0 python type-conversion python-3.x

我尝试使用Python 3迭代一些数字.为此,我考虑将数字转换为字符串.简化版本在这里:

def printValue(num):
    value = str(num)
    for i in len(value):
        print(value[i])
    return;
Run Code Online (Sandbox Code Playgroud)

但是,虽然我得到的信息是int不可迭代:

Traceback (most recent call last):                                                                                                                                                                                                
  File "main.py", line 9, in <module>                                                                                                                                                                                             
    print(printValue(12112121))                                                                                                                                                                                       
  File "main.py", line 5, in printValue
    for i in len(value):                                                                                                                                                                                                          
TypeError: 'int' object is not iterable  
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

Kev*_*vin 6

len 返回一个整数,你不能迭代整数.

如果要迭代从0到最大的整数范围len(value),请使用range.

for i in range(len(value)):
Run Code Online (Sandbox Code Playgroud)

虽然在这种情况下你并不真正需要索引,所以你也可以直接迭代字符串的字符.

for c in value:
Run Code Online (Sandbox Code Playgroud)