创建一个包含用户提示输入的列表?

时间:2017-07-16 02:01:13

标签: python list python-3.x

我是初学者并参加了Python课程。我的实验作业的第一部分要求我创建一个包含用户输入的数字的列表。我有点困惑。我在这里读了一些其他帖子,建议在输入()中使用“a = [int(x)for x。split()]”但我不知道如何使用它或为什么这样做。我之前根据我在教科书中读到的内容编写的代码如下:

 while True: 
  num = int(input('Input a score (-99 terminates): ')) 
   if num == -99: 
   break

以下是教授的问题:

  

这里的第一个任务是将得分值输入到一个名为得分的列表中   将使用while循环执行此操作。也就是说,提示用户输入分数值   (整数)并继续这样做,直到用户输入-99的值。   每次输入值时,您都会将输入的分数添加到列表分数中。该   终止值-99未添加到列表中   因此,应首先使用列表分数将列表分数初始化为空列表   声明:   得分= []   完成后输入列表的值,定义并调用名为的查找   print_scores()将接受列表,然后打印列表中的每个值   一行由空格分隔。   您应该使用for循环来打印列表的值。

2 个答案:

答案 0 :(得分:1)

我认为这将完成这项工作:

def print_scores(scores):
 for score in scores:
  print(str(score), end = " ")
 print("\n")

scores = []
while True:
 num = int(input('Input a score (-99 terminates)'))
 if num == -99:
  break
 scores.append(num)
print_scores(scores)

scores = []创建一个空数组,scores.append()将该元素添加到列表中。

print()将使用end = ' ',以便在符合使用循环\n'的要求的同时,使用空格而不是换行符(for)分隔每个结果。在任务中。 str(score)确保整数被视为字符串,但这里多余。

这实际上并不是打印乐谱的优雅方式,但老师可能不想急于求成。

答案 1 :(得分:1)

所以是的,你想要不断循环扫描,要求输入,并且每次检查输入。如果它是-99,那么休息。如果不是,请将其附加到列表中。然后将其传递给打印功能

def print_list(l):
    for num in l:
        print(num, ' ', end='')
l = []
while True:
    s = scan("enter some number (-99 to quit)")
    if s == "-99":
        break
    l.append(int(s))

print_list(l)

print(num,'',end ='')说“打印数量,空格,而不是换行符”