python循环遍历

编写一个程序,提示用户输入正整数值。程序将继续提示用户这样做,直到他们输入“end”停止。用户输入的正整数值将添加到列表中。非正整数值将被忽略。用户输入“end”后,程序将按降序(从大到小)打印正整数值列表(非正整数列表不打印)。
注意:
输出必须采用示例中所示的格式,包括提示的格式以及所有空格和标点符号。

img

你题目的解答代码如下:

li = []
while True:
    s = input('Please enter a positive integer or end to stop: ')
    if s=='end':
        break
    n = int(s)
    if n>0:
        li.append(n)
li.sort(reverse=True)
print('Positive numbers:',li)

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

将符合条件的数添加到列表中。
最后对列表进行sort()排序。

list= []
while True:
    str=input('Please enter a positive integer or end to stop:')
    if str=='end':
        break
    if int(str)>0:
        list.append(int(str))
list.sort(reverse=True)
print('Positive numbers:',list)

楼主,代码如下,觉得好,给个采纳呗。

data_list = []
while True:
    data = input("please enter a positive integer:")
    data_list.append(data)
    if data=='end':
        break
pos_list = []
for l in data_list:
    if l.isdigit() and int(l) > 0:
        pos_list.append(l)
print("nums",pos_list)
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632