如何使用Python列表获取用户的数字并打印奇数和偶数?
您想尝试一下这个简化流程并使其更加完整的代码吗
Pythonic
:
nums = map(int, input("Input some numbers: ").split()) # get all numbers in one shot
results = [[], []] # declare the results to store evens and odds
for n in nums: # put each number in their own list or bucket. one shot.
results[n % 2].append(n)
print(results)
evens, odds = results # unpacking these 2 lists
print(f' evens list: {evens}' ) # confirm the results is ok
print(f' odds list: {odds} ')
我编写了下面的代码来解决这个问题,但请至少在提问之前努力回答这个问题。
# Get the Value from user and Print the Odd and Even Number using List in Python
number = int(input("How many numbers do you want? "))
lst=[]
for i in range(0,number):
add = int(input("Enter Number: "))
lst.append(add)
even = []
odd = []
for num in lst:
if num % 2==0:
even += [num]
else:
odd += [num]
print("even: ", even)
print('odd: ', odd)
number = int(input("Enter How Many Number you want!"))
values=[]
for i in range(0,number):
add = int(input("Enter Next Number:"))
values.append(add)
print("Numbers in the list",values)
def oddEven(valuesList):
OddResult = []
EvenResult = []
for i in valuesList:
if i % 2== 0:
EvenResult.append(i)
else:
OddResult.append(i)
return OddResult,EvenResult
OddResult, EvenResult = oddEven(values)
print("Print Even Number ",EvenResult)
print("Print Odd Number",OddResult)
我对这个奇数问题感到沮丧,我想要简单明了的代码,最后做了这些:
list2 = list(range(50,0, -2))
even_count, odd_count = 0, 0
for num in list2:
if num % 2 == 0:
even_count += 1
else:
odd_count += 1
print("even: ", even_count)
print("odd: ", odd_count)
**Result:**
even: 25
odd: 0 *(notice the list creating order and the -2)*
list3 = list(range(50,0, -1))
print(lista3)
even_count, odd_count = 0, 0
for num in list3:
if num % 2 == 0:
even_count += 1
else:
odd_count += 1
print("even: ", even_count)
print("odd: ", odd_count)
**Result:**
even: 25
odd: 25
list3 = [value*1 +1 for value in range(50) if value % 2 == 0]
list3
**Result:**
[1,
3,
.
. *#I didn't copy all of them*
.
45,
47,
49]