关于python:python3 TypeError:’function’对象不可迭代

python3 TypeError: 'function' object is not iterable

源代码中需要做什么更改?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
    def Update():
        print('
'
)
        print("Update")
        cmd = os.system('xterm -e apt-get update')
        print("Finish update")

    def AptUpdate():
        print('
'
)
        print("Update system? {Y/N}")
        print("Y or y")
        print("N or n")
        code = input("Command >")
        if code == 'y' or code == 'Y':
            for i in Update():
                return Update
            elif code == 'n' or code == 'N':
                return
            else:
                print("Warning!")

    AptUpdate()

    exception:

    Traceback (most recent call last):
      File"pybash.py", line 110, in
        AptUpdate()
      File"pybash.py", line 102, in AptUpdate
        for i in Update:
    TypeError: 'function' object is not iterable


回溯错误指出的是FOR语句的误用:

for i in Updt():

python 3中的for如下:"python的for语句按顺序迭代任何序列(列表或字符串)的项。"(来源:python3.3文档,第4节:更多控制结构python3

由于函数既不是列表也不是字符串,因此不能使用以下格式:

埃多克斯1〔2〕

至于需要修复的内容,这取决于这两个功能应该分别完成什么。