[英]Creating a list with inputs prompted by the user?
我是一个初学者,正在学习Python入门课程。 我的实验作业的第一部分要求我创建一个列表,其中包含用户输入的数字。 我有点困惑。 我在这里阅读了其他一些文章,建议使用“ a = [int(x)for input()。split()中的x)”,但我不确定如何使用它或为什么使用它。 根据我在教科书中阅读的内容,我之前编写的代码如下:
while True:
num = int(input('Input a score (-99 terminates): '))
if num == -99:
break
这是教授的问题:
您的第一个任务是将分数值输入到名为scores的列表中,并使用while循环进行此操作。 即,提示用户输入分数(整数)的值,并继续执行此操作,直到用户输入-99的值为止。 每次输入值时,您都会将输入的分数添加到列表分数中。 终止值-99不会添加到列表中,因此应首先使用以下语句将列表分数初始化为空列表:scores = []完成输入列表的值后,定义并调用名为print_scores( ),它将接受列表,然后将列表中的每个值打印在一行中,并以空格分隔。 您应该使用for循环来打印列表的值。
我认为这可以完成工作:
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)
确保将整数视为字符串,但是此处多余。
这实际上不是打印分数的一种优雅方法,但是老师可能想不要仓促行事。
所以,是的,您想连续循环扫描,询问输入,并每次检查输入。 如果是-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 ='')在说“ print num,一个空格,而不是换行符”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.