![](/img/trans.png)
[英]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.