小机灵啊 发表于 2020-3-31 18:52:25

python 列表及for循环

各位大神,帮帮忙看看这个for循环哪里出错了嘞?为啥只打印出来两行?感恩

代码是这样sher的:

products = [["iphone",6888],["macpro",14800],["小米6",2499],["coffee",31],["book",60],["nike",699]]
l=len(products)
print(l)
a=0
for i in (0,l):
    print("%d %s %d"%(a,products,products))
    a += 1

打印出来是这样sher的:

6
0 iphone 6888
1 macpro 14800

Twilight6 发表于 2020-3-31 18:54:37

本帖最后由 Twilight6 于 2020-3-31 18:56 编辑

products = [["iphone",6888],["macpro",14800],["小米6",2499],["coffee",31],["book",60],["nike",699]]
l=len(products)
print(l,end = ' ')
a=0
for i in (0,l):
    print("%d %s %d"%(a,products,products),end = ' ')
    a += 1

qiuyouzhi 发表于 2020-3-31 18:57:22

1,for循环的range,应该是range(0, l)
2,有一个很迷的点,
products = [["iphone",6888],["macpro",14800],["小米6",2499],["coffee",31],["book",60],["nike",699]]
l=len(products)
print(l)
for i in range(0,l):
    print("%d %s %d"%(i,products,products))
列表索引用i不就行了?为何还要新定义一个变量?

Twilight6 发表于 2020-3-31 18:58:00

print 中 是自带换行符号的end ='\n'   
把print()中加 end=''就不会换行了

qiuyouzhi 发表于 2020-3-31 18:59:27

Twilight6 发表于 2020-3-31 18:58
print 中 是自带换行符号的end ='\n'   
把print()中加 end=''就不会换行了

lz要的不是打印到一行,是只打印了三行,
要打印六行。。。

Twilight6 发表于 2020-3-31 19:00:47

qiuyouzhi 发表于 2020-3-31 18:59
lz要的不是打印到一行,是只打印了三行,
要打印六行。。。

哦哦!那我理解错了

Twilight6 发表于 2020-3-31 19:02:08

qiuyouzhi 发表于 2020-3-31 18:59
lz要的不是打印到一行,是只打印了三行,
要打印六行。。。

话说sher什么意思

小机灵啊 发表于 2020-3-31 19:02:51

qiuyouzhi 发表于 2020-3-31 18:57
1,for循环的range,应该是range(0, l)
2,有一个很迷的点,



因为还是小小小白啊{:10_266:}非常感谢range,前边学后边忘{:10_266:}

qiuyouzhi 发表于 2020-3-31 19:03:56

Twilight6 发表于 2020-3-31 19:02
话说sher什么意思

好像是东北话
==就是这样的,
那个sher只是一个语气助词

Twilight6 发表于 2020-3-31 19:06:07

qiuyouzhi 发表于 2020-3-31 19:03
好像是东北话
==就是这样的,
那个sher只是一个语气助词

{:9_230:}好的 我以为是什么特有名词
页: [1]
查看完整版本: python 列表及for循环