首页 > 解决方案 > 如何用while循环构造一个python程序

问题描述

任务1:需要编写一个while/for循环程序,从用户那里获取1到20之间的5个整数输入并将其存储在一个列表中。

任务 2:现在打印 1 到 20 之间的序列,跳过用户先前提供并保存在列表中的所有 5 个数字。

我可以完成 Task1 :

skip = []
for i in range(0,5):
    temp = int(input("Enter any number between 1 to 20 :: "))
    skip.append(temp)

但是需要Task2的帮助。

标签: python-3.xfor-loopwhile-loop

解决方案


任务 1:查看您的解决方案,请考虑以下事项:

  1. 用户插入非数字值作为输入。
  2. 用户插入一个大于 20 或小于 0 的数字。

考虑您允许重复的用户输入,以下代码将确保不会发生上述问题:

user_input_int = list()

while len(user_input_int) < 5:
    try:
        tmp_in = int(input("Enter any number between 1 to 20: "))
        if 0 < tmp_in < 20:
            user_input_int.append(tmp_in)        
        print(user_input_int)
    except ValueError as err:
        print(err)

** 如果您希望用户只输入不同的值,您可以将 更改list为 a set(不要忘记也更改appendadd)。**


任务2:这里的解决方案并不复杂,您只需使用范围函数(您已经在解决方案中使用它)遍历1-20之间的数字,并排除用户输入的数字:

# Starting from 1 in order to skip 0 and stop at 21 in order to print 20
for i in range(1, 21):
    if i in user_input_int:
        continue
    print(i)

推荐阅读