[英]Finding the Sum of integers in a list between numbers from user input in Python 3.xx
[英]averaging integers from an input list of numbers in python
我是编码的新手,这是python的入门编码类。 我必须编写一个姐妹程序,该程序使用循环来读取和处理a.txt文档以获得随机整数列表。 程序必须在文件中以空格分隔的一行上输出所有整数。 该程序还必须输出偶数整数的平均值和奇数整数的平均值。 两个平均值必须精确到小数点后四位。
粗体字是我需要帮助的..这是到目前为止我所拥有的..我知道如何设置小数,但是我似乎无法弄清楚如何写出偶数和奇数的平均值。
def main():
total = 0
numfile = open('mynumbers.txt','r')
line = numfile.readline()
while line != '':
numb = int(line)
print(numb,end=' ')
line = numfile.readline()
#calculation for average of odds
#calculation for average of evens
numfile.close()
print('\n' + 'Average of the even numbers:',)
print('Average of the odd numbers:',)
main()
代码输出:
98 62 60 15 74 68 51 15
Average of the even numbers:
Average of the odd numbers:
我的班级示例输出:
40 90 89 57 90 19 88 78
Average of the even numbers: 77.2000
Average of the odd numbers: 55.0000
这应该可以工作(有关说明,请参见代码注释):
def main():
total = 0
evens = []
odds = []
numfile = open('mynumbers.txt','r')
line = numfile.readline()
while line != '':
numb = int(line)
print(numb,end=' ')
line = numfile.readline()
# here you're checking each number and adding it to the apt list
if numb%2 == 0:
evens.append(numb)
elif numb%2 == 1:
odds.append(numb)
numfile.close()
# here you're getting the sum and rounding it
e_avg = round(sum(evens)/len(evens),4)
o_avg = round(sum(odds)/len(odds),4)
print('\n' + 'Average of the even numbers: '+e_avg)
print('Average of the odd numbers: '+o_avg)
main()
好,模( %
)字符可以帮助您进行偶数和奇数运算。 首先,让我们开始将所有数字放入列表中。
def main():
total = 0
numfile = open('mynumbers.txt','r')
line = numfile.readline()
nums = []
while line != '':
numb = int(line)
print(numb,end=' ')
nums.append(numb)
line = numfile.readline()
#calculation for average of odds
#calculation for average of evens
numfile.close()
print('\n' + 'Average of the even numbers:',)
print('Average of the odd numbers:',)
main()
现在,最后我们可以计算平均值。 这将为您提供平均数。 它的工作原理是将所有偶数或几率相加,然后除以偶数或几率。
埃文斯:
average = sum([i for i in nums if i%2==0])/len([i for i in nums if i%2==0])
和平均赔率:
average_odds = sum([i for i in nums if i%2==1])/len([i for i in nums if i%2==1])
并将它们打印到小数点后四位:
print("Even Average: {0:.5}".format(average))
print("Odd Average: {0:.5}".format(average_odds))
现在,由于这是一项家庭作业(我认为),因此您应该在完整的程序中实现它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.