python - Python 开始:不知道如何告诉用户他们的数字是奇数还是偶数(对于 5 个数字)
问题描述
我刚刚注册,我不确定这是否会转到正确的论坛(假设这是这里的事情)。
几周前我刚开始学习python。我们正在做迭代。
这是我们这次作业的阅读材料:https ://www.py4e.com/html3/05-iterations
这是我的代码的任务。
编写一个程序,让用户一次输入五个数字。每次输入后,告诉用户该数字是奇数还是偶数。在所有输入的末尾,在屏幕上显示所有输入数字的总和。
x = 0
num = 0
while x < 5:
x += 1
num += int(input("Enter a number: "))
mod = num % 2
if mod > 0:
print(num-x,"is an odd number.")
else:
print(num-x,"is an even number.")
print("Your total is",num)
这不适用于作业的奇数和偶数部分。我很确定这与每次用户输入一个新数字时“num”变量的变化有关,而不是仅仅告诉用户他们刚刚输入的数字是偶数或奇数,而是添加数字。
所以,如果第一个用户输入是 3,它会说它很奇怪。但是如果他们再次为第二个数字输入 3,它会说它是偶数,因为它将 3 + 3 相加得到 6。显然,我不希望它在最终打印之前将数字加起来。
This is my output:
Enter a number: 1
0 is an odd number.
Enter a number: 1
0 is an even number.
Enter a number: 1
0 is an odd number.
Enter a number: 1
0 is an even number.
Enter a number: 1
0 is an odd number.
Your total is 5
显然,所有这些 1 都应该是奇数,而我现在才意识到 0 不属于那里。
解决方案
您正在尝试num
用于两个不同的目的:
- 累计和
- 刚刚输入的号码
因此,您最终会测试累积和的奇数/偶数,而不是刚刚输入的数字。
将它们分成两个不同的变量num
,total
然后它会变得更容易。
我建议还使用 afor
而不是while
循环 for x
:
total = 0
for x in range(5):
num = int(input("Enter a number: "))
mod = num % 2
if mod > 0:
print(num, "is an odd number.")
else:
print(num, "is an even number.")
total += num
print("Your total is", total)
推荐阅读
- javascript - 如何在另一个对象中获取一个对象?
- spring - 在 Spring Boot 中使用 jmsTemplate 异步将消息发布到 AMQ
- wix - 在本地化 MSI 安装程序中将用户添加到组
- r - 解释 walktrap.community 结果
- arrays - 如何验证此 SMT 规范,其中包含数组选择作为 Z3 中递归函数的参数?
- regex - 正则表达式:标签匹配
- laravel - Laravel Livewire 更新模型字段
- bazel - 使用 Bazel 构建 Drake_last_sha_with_original_matlab Atlas 时出现问题
- json - 赛普拉斯 REST 调用 - 如何处理 JSON 响应正文中的字段?
- c - 1 字刽子手代码,无重复字母(业余)。错误是,它不需要比较第一个字母,我不知道为什么。想知道为什么?