关于以下PYTHON代码段,我有几个问题。
*****实际上,我的问题是python如何在以下不同的python代码段中自动为“i”赋值关于以下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',
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很乐意帮忙。如果你认为这个答案没问题,你可以接受。