【发布时间】:2020-08-22 08:21:09
【问题描述】:
我正在尝试对列表的值求和,但前提是列表值在特定范围内(例如 在 5 和 -4 之间,或 )
- 使用
while循环来解决这个问题。 - 不要使用额外的列表。
如果我在语句中使用 is小于 来检查列表值,则代码不起作用。
使用“
我的示例数据:
# list
ulis = [ 5 , 4 , 4 , 3 , 1 , -2 , -3 , -5 , -7 , -7 ]
#e 0 1 2 3 4 5 6 7 8 9
# list length
ulis_l = len (ulis)
# to count total
total_1 = 0
# index nr list
e = 0
# list of numbers used for total
lprt = []
将while 与> = 0 一起使用;这行得通:
print ( " # while command in progress " )
while ( ulis[e] >= 0) and ( e < ulis_l ):
total_1 = total_1 + ulis [e]
lprt.append (ulis [e])
e = e + 1
print (total_1)
相同的代码,将>= 0 更改为<= 0 不起作用,我不明白发生了什么:
print ( " # while command in progress " )
while ( ulis[e] <= 0) and ( e < ulis_l ):
total_1 = total_1 + ulis [e]
lprt.append (ulis [e])
e = e + 1
print (total_1)
我用这段代码检查了输出:
print ( " " )
print ( " " )
print ( " # Total sum " )
print (total_1)
print ( " " )
print ( " # values used form org list ulis for Total sum " )
print (lprt)
print ( " " )
print ( " # ulis n org values " )
print ( ulis_l )
对于第一个循环,打印如下:
# while command in progress
5
9
13
16
17
# Total sum
17
# values used form org list ulis for Total sum
[5, 4, 4, 3, 1]
# ulis n org values
10
但是对于第二个循环,我看到了:
# while command in progress
# Total sum
0
# values used form org list ulis for Total sum
[]
# ulis n org values
10
【问题讨论】:
标签: python while-loop