我需要写一个程序来计算用户输入的整数的奇偶平均数。用户键入“完成”以完成。输出将显示奇数的平均值和偶数的平均值。
我有一个while循环程序,可以计算数字的和,我正试图增加奇数和偶数和的额外要求。这是代码:
total = 0
done = False
while(not done):
user_in = input("Give me an integer or type 'done' to be done.")
if( user_in.lower() == "done"):
done = True
else:
# assume that they've typed in an integer
total += int(user_in)
print (total)
下面是我修改的代码,对奇数和偶数进行排序,然后对每组进行平均。
total = 0
evenSums = 0
oddSums = 0
done = False
while(not done):
user_in = input("Give me an integer or type 'done' to be done.")
if( user_in.lower() == "done"):
done = True
else:
# assuming they've typed in an integer
total += int(user_in)
if user_in % 2 == 0:
evenSums += user_in
evenAverage = evenSums / user_in
else:
oddSums += user_in
oddAverage = oddSums / user_in
print(total)
print("Even Average: " + str(evenAverage))
print("Odd Average: " + str(oddAverage))
预期:
Enter number: 11
Enter number: 24
Enter number: 18
Enter number: 29
Enter number: 7
Enter number: done
Even Average: 21
Odd Average: 15.666666666666666
实际:
Give me an integer or type 'done' to be done.6
Traceback (most recent call last):
File "C:/Users/guita/Documents/School/CSCI100/CSCI100_Lab4_P/CSCI100_Lab4_P/problem7.py", line 14, in <module>
if user_in % 2 == 0:
TypeError: not all arguments converted during string formatting
if user_in % 2 == 0:
在上一行中,int(user_in)
不会导致user_in
成为整数。它创建一个新值,它是等效的整数。
因此,%
被解释为字符串格式运算符,而不是模运算符,错误消息与您预期的完全一致。
首先将中的user_替换为其等效整数,然后对其执行所有适当的操作和测试:
user_in = int(user_in)
total += user_in
if user_in % 2 == 0:
# etc.
此外:
evenAverage = evenSums / user_in
这里有两个逻辑错误(类似地,
oddmaverage
)。首先,需要除以输入的偶数,而不是最近输入的偶数。您必须分别计算输入的偶数。第二,在输入所有数字之后,这种划分只能发生一次,因此,它不属于循环内部。
在对其执行算术运算之前,应该将user_in转换为数字。您还应该分别跟踪偶数和奇数的计数,以便计算每个的正确平均值:
evenSums = 0
oddSums = 0
evenCount = 0
oddCount = 0
done = False
while not done:
user_in = input("Give me an integer or type 'done' to be done.")
if user_in.lower() == "done":
done = True
else:
user_in = int(user_in)
if user_in % 2 == 0:
evenSums += user_in
evenCount += 1
else:
oddSums += user_in
oddCount += 1
print("Even Average: " + str(evenSums / evenCount))
print("Odd Average: " + str(oddSums / oddCount))
中的用户\u是一个字符串,因此不能取其模。改为执行
int(用户输入)%2
。。
本文向大家介绍在C ++中计算整数中的偶数和奇数位,包括了在C ++中计算整数中的偶数和奇数位的使用技巧和注意事项,需要的朋友参考一下 给我们一个整数,任务是计算一个数字中的偶数和奇数。另外,我们将继续检查整数中的偶数是否出现偶数次,并且整数中的奇数位是否出现奇数次。 例如 说明-是的,此外,偶数出现偶数次,即2,奇数位出现奇数次,即3 说明-:否,因为偶数出现的次数是奇数,即3,而奇数出现的次数
我被要求编写一个程序,用Switch-Case语句的自由落体方法,获取1-10之间的5个数字,并找出其中有多少是偶数,有多少是奇数。我已经编写了代码,并且在本地范围内声明了变量,其中存在相同的开关情况,所以我认为这不是块范围的问题。如果数字是奇数(1,3,5,7,9),则奇数计数器变量(oc)递增。偶数也会发生同样的情况。如果数字不在范围内,则打印“无效输入”(它继续,不会中断程序)。 问题是,它
嗨,这是我正在做的课程上的一个问题。。。 > 程序打印“键入数字”,直到用户键入数字-1。当用户键入数字1时,程序打印“谢谢,稍后再见!”!“并结束 程序应该打印用户输入的数字的总和(不带数字-1) 程序应该打印用户键入的数字(没有数字-1) 程序应该打印用户键入的数字的平均值(没有数字-1)。 5.程序应该打印用户键入的偶数和奇数的数量(没有数字-1)。 我已经完成了1-4,但完全停留在5。我确
我们的教授在一个文本文件中给了我们一份982个数字的列表,我们已经阅读了文件中的文本,并打印出了一些关于数字的信息。到目前为止,除了奇数的总数之外,我的一切都是正确的(她给了我们正确的答案)。我不知道如何得到奇数的平均值,即48201.56。 我一直得到的结果是97354,这很奇怪,因为我用的方法和所有数字的平均值和偶数的平均值是一样的。 我想知道为什么“总平均数”的答案不是48201.56。谢谢
问题内容: Y1961 Y1962 Y1963 Y1964 Y1965 Region 0 82.567307 83.104757 83.183700 83.030338 82.831958 US 1 2.699372 2.610110 2.587919 2.696451 2.846247 US 2 14.131355 13.690028 13.599516 13.649176 13.649046
问题内容: 我希望我能弄清楚。我需要生成一个平均值为AVG_AMT(整数)的表,并且没有小数。它可以舍入或截断。这张桌子真的没关系。 这是我试图写的: 有什么建议? 问题答案: