我被要求用Python编写一个Python类的基本程序,用于打印用户输入的3个数字的平均值。
我想出了以下内容:
num1 = raw_input("Please enter your first number: ")
num2 = raw_input("Please enter your second number: ")
num3 = raw_input("Please enter your third number: ")
my_list = [float(num1), float(num2), float(num3)]
total = 0
for i in my_list:
total += i
average = total / len(my_list)
print("They average of the 3 numbers is: " + str(average))
作为第二个问题,我被要求使用while循环而不是for循环重写此代码。谁能告诉我这是如何工作的?感谢
答案 0 :(得分:1)
解决方案很简单:
i = 0
total = 0
while i < len(my_list):
total += my_list[i]
average = total / len(my_list)
i += 1
答案 1 :(得分:0)
您可以像这样简化练习并使用while循环:
NUM = 3
count = 1
my_list = []
while True:
input_num = raw_input("Please enter number {}: ".format(count))
my_list.append(float(input_num))
if count == NUM:
break
count += 1
average = sum(my_list) / NUM
print("They average of the {} numbers is: {}".format(NUM, average))
答案 2 :(得分:0)
谁能告诉我这是如何工作的?问两种类型的循环有什么区别:
for
循环通过序列
while
循环测试条件的真实性
因此它们用于不同的目的。就个人而言,我会({1}}在while
之前教授for
。
你可以使用while
循环,但你必须自己进行迭代:
i = 0
total = 0
while i < len(my_list):
total += my_list[i]
i += 1
average = total / len(my_list)
请注意,average
的计算在循环之外。
查询:你为什么教老蟒蛇2.7?
答案 3 :(得分:0)
试试这段代码!
代码:
num1 = input("Please enter your first number: ")
num2 = input("Please enter your second number: ")
num3 = input("Please enter your third number: ")
my_list = [float(num1), float(num2), float(num3)]
total = 0
i=0
while (i<len(my_list)):
total += my_list[i]
i=i+1
average = total / len(my_list)
print("They average of the 3 numbers is: " + str(average))
输出:
Please enter your first number: 2
Please enter your second number: 3
Please enter your third number: 4
They average of the 3 numbers is: 3.0
答案 4 :(得分:0)
我们在Python中不使用相同的范例。看到所有这些&#34;答案&#34;我很难过。使用for / while循环。
这将更加pythonic(Python方式):
average = sum(my_list) / len(my_list)
在Python中,我们很少(几乎从不)做经典的C for循环(它实际上没有在语言中实现)。如果您碰巧做了一件事,那么您最有可能做错了。
您可以查看此视频(和其他R. Hettinger的视频)以了解原因。这个核心开发者解释清楚。 https://www.youtube.com/watch?v=OSGv2VnC0go