关于以下PYTHON代码段,我有几个问题。

关于以下PYTHON代码段,我有几个问题。,python,python-2.4,Python,Python 2.4,*****实际上,我的问题是python如何在以下不同的python代码段中自动为“i”赋值 data=[5,1,23,10] datacount=len(data) print ('value of datacount is',datacount) for i in range(datacount-1): print ('value of i is',i) for k in range(i,datacount): print ('value of k is',

*****实际上,我的问题是python如何在以下不同的python代码段中自动为“i”赋值

data=[5,1,23,10]
datacount=len(data)
print ('value of datacount is',datacount)
for i in range(datacount-1):
    print ('value of i is',i)
    for k in range(i,datacount):
        print ('value of k is', k,'value of i is', i, 'value of datacount is', datacount)
        print(data)
        if data[i]>data[k]:
            temp=data[i]
            data[i],data[k]=data[k],temp
for i in range(datacount):
    print(data[i])
结果是:

>>> 
('value of datacount is', 4)
('value of i is', 0)
('value of k is', 0, 'value of i is', 0, 'value of datacount is', 4)
[5, 1, 23, 10]
('value of k is', 1, 'value of i is', 0, 'value of datacount is', 4)
[5, 1, 23, 10]
('value of k is', 2, 'value of i is', 0, 'value of datacount is', 4)
[1, 5, 23, 10]
('value of k is', 3, 'value of i is', 0, 'value of datacount is', 4)
[1, 5, 23, 10]
('value of i is', 1)
('value of k is', 1, 'value of i is', 1, 'value of datacount is', 4)
[1, 5, 23, 10]
('value of k is', 2, 'value of i is', 1, 'value of datacount is', 4)
[1, 5, 23, 10]
('value of k is', 3, 'value of i is', 1, 'value of datacount is', 4)
[1, 5, 23, 10]
('value of i is', 2)
('value of k is', 2, 'value of i is', 2, 'value of datacount is', 4)
[1, 5, 23, 10]
('value of k is', 3, 'value of i is', 2, 'value of datacount is', 4)
[1, 5, 23, 10]
1
5
10
23
>>> 
>>> 
('value of i is', 1)
('the value of len(a) is', 5)
('the value of len(a) is', 5)
('the value of i is', 2, 'the value of c is', 23)
('the value of len(a) is', 5)
('the value of len(a) is', 5)
5
>>> 
考虑以下代码

data = [5,1,23,10,-3]
def fun(a):
    i,c=1,a[0]
    print ('value of i is', i)
    while i<len(a):
        print ('the value of len(a) is', len(a))
        if(a[i]>c):
            c=a[i]
            print ('the value of i is',i ,'the value of c is',c)
        i=i+1
    return i

print (fun(data))
在上述任何代码中,我都没有为“I”赋值。在第一种方法中,它将值取为0,但在第二种方法中,它将值取为1。好的,现在我编辑这个代码如下

现在我不向我的方法传递任何参数

def fun():
    i,c=1
    print ('value of i is', i)

    return i

print (fun())
它给出了以下错误

    >>> 

Traceback (most recent call last):
  File "C:\Users\e.s.kaushalya\Desktop\tempory\kk2", line 8, in -toplevel-
    print (fun())
  File "C:\Users\e.s.kaushalya\Desktop\tempory\kk2", line 3, in fun
    i,c=1
TypeError: unpack non-sequence
>>> 
*****我的问题是,我无法理解python如何在前两个编码段中将值分配给“I”,以及为什么python不将值分配给第三个编码段
片段?

让我们从第一个片段开始:

for i in range(datacount-1):
    print ('value of i is',i)
通过对…循环中的…
执行此操作,实际上是在为i赋值

试试这个

for i in range(0, 10):
    print i
那你就会明白了

第二条:

i,c = 1, a[0]
您所做的工作称为“元组解包”。简单地说,它将使
i=1
c=a[0]
。查看python文档以了解更多详细信息

与第三个一起,如果您这样做:

i,c = 1, 2

您将有
i=1
c=2

考虑将实际问题放在其他问题之上,这样我们可以在阅读代码时专注于您的问题。另外,请务必阅读。Stackoverflow不是一个论坛。没有人关心或者应该关心你是新来的好吧。。。现在我明白你说的了。。。多谢各位much@E.S.Kaushalya很乐意帮忙。如果你认为这个答案没问题,你可以接受。