python - 我怎样才能找到和写一个列表偶数和奇数?
问题描述
一个程序,它读取一系列数字并计算有多少是偶数,有多少是奇数。当偶数输出可能为 4 时,列表显示偶数和奇数。我的代码有错误,这是我的代码:
odd_numbers = 0
even_numbers = 0
lst_odd =[]
lst_even =[]
# read the first number
number = int(input("Enter a number or type 0 to stop: "))
# 0 terminates execution
while number != 0:
# check if the number is odd
if number % 2 == 1:
# increase the odd_numbers counter
odd_numbers += 1
return lst_odd
else:
# increase the even_numbers counter
even_numbers += 1
return lst_even
# read the next number
number = int(input("Enter a number or type 0 to stop: "))
# print results
print("Odd numbers count:", odd_numbers, '\n','list odd numbers is', lst_odd)
print("Even numbers count:", even_numbers, '\n','list odd numbers is',lst_even)
我想这样做:
Enter a number or type 0 to stop: 3
Enter a number or type 0 to stop: 3
Enter a number or type 0 to stop: 4
Enter a number or type 0 to stop: 5
Enter a number or type 0 to stop: 6
Enter a number or type 0 to stop: 7
Enter a number or type 0 to stop: 8
Enter a number or type 0 to stop: 2
Enter a number or type 0 to stop: 4
Enter a number or type 0 to stop: 0
Odd numbers count: 4
list odd number is [3,3,5,7]
Even numbers count: 5
list even number is [4,6,8,2,4]
解决方案
使用时return
,您需要函数内的代码。要添加到列表中,您append
可以添加到列表中
例如
def main():
lst_odd = []
lst_even = []
while True:
number = input('Enter a number or "stop": ')
if number.lower() == 'stop':
return lst_odd, lst_even # end the loop, return both lists
n = int(number)
if n % 2 == 1:
lst_odd.append(n)
else:
lst_even.append(n)
odds, evens = main()
print('Odd numbers count: {}\nList odd numbers is {}'.format(len(odds), odds))
print('Even numbers count: {}\nList even numbers is {}'.format(len(evens), evens))
推荐阅读
- c# - 使用 Selenium 对 IWebElement 进行文本测试
- javafx - 绑定函数仅适用于初始值
- c++ - 创建 C++ 库:精简版与完整版
- java - 从 java Main 调用另一个 java 文件中的方法
- java - 为什么我的 h2 数据库找不到医生和患者 ID?
- r - How to superimpose bargraphs on top of each other
- sql - 与同一台机器上的数据库的 JDBC 连接
- swiftui - 从 ImagePicker 导入的图像被拉伸
- c# - 如何在 Net Core 中覆盖 SaveChangesAsync?
- javascript - Jquery在彼此之上而不是在表格长度上附加数据堆栈