python list

2016-05-05 17:20:11 +08:00
 wex
a = ['22','35','40','0','7']
for i in a:
if s2<i:
s2+=1
print(s2)
这个只能判断第一个,也就是 22 ,但是第二个 35 不会判断,怎么解决啊

也就是说第一个 22 要求输出 0-22
第二个要求 0-35
。。。。
3167 次点击
所在节点    Python
20 条回复
nevin47
2016-05-05 17:30:00 +08:00
LZ 整理下代码格式吧……
https://www.v2ex.com/t/130567
gotounix
2016-05-05 17:33:47 +08:00
s2 是啥玩意?!
wex
2016-05-05 17:42:30 +08:00
a = ['22','35','40','0','7']
for i in a:
if s2<i:
s2+=1
print(s2)
这个只能判断第一个,也就是 22 ,但是第二个 35 不会判断,怎么解决啊

也就是说第一个 22 要求输出 0-22
第二个要求 0-35
。。。。
wex
2016-05-05 17:43:06 +08:00
@nevin47
@gotounix

手机写的,着急了, s2 都没写
gotounix
2016-05-05 17:46:39 +08:00
@wex 还是不知道 s2 是什么东西……
wex
2016-05-05 17:50:22 +08:00
@gotounix
s2=0
是个变量
pimin
2016-05-05 17:56:34 +08:00
gotounix
2016-05-05 17:57:43 +08:00
@wex 是要这种效果?
wex
2016-05-05 18:05:40 +08:00
@gotounix
0
1
2
3
4
5
6
7....这样的
nevin47
2016-05-05 18:41:37 +08:00
1 、字符转整形
2 、循环内加一个循环
wex
2016-05-05 18:47:23 +08:00
@nevin47 不知道为什么,我循环嵌套循环都是在循环第一个 22
charmjoe
2016-05-05 18:52:45 +08:00
你的 list 里面是字符串啊,你要比较的是数字。。
pimin
2016-05-05 19:02:20 +08:00
@wex
1.看下 7L 的代码
2.这里用两层循环是可以的,但是用 map 更简洁高效。
3.这里判断条件不能用 if ,要用 while
wex
2016-05-05 21:52:25 +08:00
@pimin 7L 代码不能直接运行?没有输出!!!
另外
lesson = ['22', '30', '25', '40', '0', '21']
a = 0
for i in lesson:
while a <= int(i):
a += 1
print(a)
我这样写的。但是是错的
qqmishi
2016-05-05 21:55:39 +08:00
a=0 放在 for 循环内部
print 放在+=1 前面
wex
2016-05-05 21:57:41 +08:00
@qqmishi
pimin
2016-05-05 22:53:37 +08:00
@wex
我手机上装的 Qpython,我试了运行结果正确的,就发上来了
结果 Python3 的 map 函数改了,返回的是 iterator,非常抱歉.
正确的用法改成 list(map(printn, a))就可以直接显示结果了.
具体可以看这里的讨论
https://segmentfault.com/a/1190000000322433
mcwanderer
2016-05-06 07:25:06 +08:00
Patrick95
2016-05-06 11:44:41 +08:00
需要两层循环
sualwu
2016-05-06 15:23:59 +08:00
[list(range(int(i))) for i in ['22','35','40','0','7']]

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/276571

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX