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

2024-09-30 05:26:41 发布

您现在位置:Python中文网/ 问答频道 /正文

******实际上,我的问题是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
>>> 

考虑以下代码

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))

结果是:

>>> 
('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
>>> 

在上述任何代码中,我都没有给“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不为第三个编码段赋值 细分市场?你知道吗


Tags: ofthe方法代码infordatalen
1条回答
网友
1楼 · 发布于 2024-09-30 05:26:41

让我们从第一个开始:

for i in range(datacount-1):
    print ('value of i is',i)

通过执行这个for...in...循环,实际上是在给i赋值

试试这个

for i in range(0, 10):
    print i

那你就明白了。你知道吗

第二条:

i,c = 1, a[0]

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

再加上第三个,如果你这样做的话:

i,c = 1, 2

您将拥有i = 1c = 2。你知道吗

相关问题 更多 >

    热门问题