如何将iterable分配给python数组变量?
我定义了一个包含20个元素的数组,然后要求用户为每个元素输入一个数字,然后它将平均他们输入的所有数字。然而,我完成这项工作的方式非常繁琐,看起来像是可以简化的重复代码。然而,我很难找到答案。我认为可以在每次输入后增加下标,以避免要求20行输入 我已经尝试合并一个开始/停止/步骤解决方案。然而,我所做的是错的。我尝试的是num[0:19:1]=int(输入(“键入数字”)),希望这能完成3件事如何将iterable分配给python数组变量?,python,arrays,Python,Arrays,我定义了一个包含20个元素的数组,然后要求用户为每个元素输入一个数字,然后它将平均他们输入的所有数字。然而,我完成这项工作的方式非常繁琐,看起来像是可以简化的重复代码。然而,我很难找到答案。我认为可以在每次输入后增加下标,以避免要求20行输入 我已经尝试合并一个开始/停止/步骤解决方案。然而,我所做的是错的。我尝试的是num[0:19:1]=int(输入(“键入数字”)),希望这能完成3件事 从0开始 在20号结束 增加1 然而,这并没有起作用 START = input("Type start
START = input("Type start if you wan't to do this thang: ")
while START == "start":
num = ([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,])
num[0] = int(input("type in number: "))
num[1] = int(input("type in number: "))
num[2] = int(input("type in number: "))
num[3] = int(input("type in number: "))
num[4] = int(input("type in number: "))
num[5] = int(input("type in number: "))
num[6] = int(input("type in number: "))
num[7] = int(input("type in number: "))
num[8] = int(input("type in number: "))
num[9] = int(input("type in number: "))
num[10] = int(input("type in number: "))
num[11] = int(input("type in number: "))
num[12] = int(input("type in number: "))
num[13] = int(input("type in number: "))
num[14] = int(input("type in number: "))
num[15] = int(input("type in number: "))
num[16] = int(input("type in number: "))
num[17] = int(input("type in number: "))
num[18] = int(input("type in number: "))
num[19] = int(input("type in number: "))
average = (num[0] + num[1] + num[2] + num[3] + num[4] + num[5] + num[6] + num[7] + num[8] + num[9] + num[10] + num[11] + num[12] + num[13] + num[14] + num[15] + num[16] + num[17] + num[18]+ num[19]) / 20
START = input("If that was wild for you, type start again, or type quit if that was lame: ")
if START == "quit":
break
试试这个
def iterator(n):
START = input("Type start if you wan't to do this thang: ")
numbers=[]
while START == "start":
total=0
for i in range(0,n):
num=int(input("type in number: "))
total+=num
numbers.append(num)
print("Average : ",total/n)
print(numbers)
START = input("If that was wild for you, type start again, or type quit if that was lame: ")
if START == "quit":
break
iterator(20)
代码中的一些问题
- 你不需要像现在这样定义你的列表,你只需要定义一个空列表,比如'nums=[],但是这里你不需要列表
- 实际上,您可以在输入时对数字求和,而不是在最后
Split
通过使用nums[::-1]
反转列表并打印它Type start if you wan't to do this thang: start
Enter 20 numbers separated by a single space1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
Average: 3.0
The numbers in reverse are [5, 4, 3, 2, 1, 5, 4, 3, 2, 1, 5, 4, 3, 2, 1, 5, 4, 3, 2, 1]
If that was wild for you, type start again, or type quit if that was lame: start
Enter 20 numbers separated by a single space1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
Average: 5.5
The numbers in reverse are [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
If that was wild for you, type start again, or type quit if that was lame: quit
为什么不为循环设置一个
。你应该读一本教科书或教程。@DYZ好吧,我所学的课程是关于编程理论的,这本教科书只涉及你用数组“可以”完成的事情,而不是如何完成。我在这里发帖寻求帮助。非常感谢!我现在明白了,我看到了它的工作代码。谢谢你帮了我的忙,而不是投我一票。事实上我学到了一些东西。现在我如何将这些数字分配给列表编号=[]并打印它们?谢谢您的回复!这也是一个很好的解决方案。然而,我发现了另一个需要。如果我只想打印他们给我的数字,并按相反的顺序进行操作,该怎么办?我已经更新了@jedimilk代码,包括如何反转数字,以及如何打印它们!请看一看:)谢谢你抽出时间来帮助我。我真的很感谢你的帮助,并清楚地评论了每一行的作用。谢谢你的帮助,祝你有一个美好的一天!顺便说一句,我爱你的用户名,你好。我知道你可能厌倦了这些问题,但我还有一个问题要问你。现在,如果我想从所有数字的平均值中减去输入的每个数字,然后打印出来呢?以正常或相反的顺序。
Type start if you wan't to do this thang: start
Enter 20 numbers separated by a single space1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
Average: 3.0
The numbers in reverse are [5, 4, 3, 2, 1, 5, 4, 3, 2, 1, 5, 4, 3, 2, 1, 5, 4, 3, 2, 1]
If that was wild for you, type start again, or type quit if that was lame: start
Enter 20 numbers separated by a single space1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
Average: 5.5
The numbers in reverse are [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
If that was wild for you, type start again, or type quit if that was lame: quit