如何在python代码中比较序列中的奇数?

如何在python代码中比较序列中的奇数?,python,Python,我需要编写一个代码,计算用户输入的一系列数字中相邻奇数对的数量 例如,用户输入序列3、4、5、11、6、17、9、13、12。有三对相邻的奇数:(5,11),(17,9),(9,13) 以下是预期输入和输出的示例: Enter the length of the sequence: 5 Enter number 1: 57 Enter number 2: 89 Enter number 3: 3 Enter number 4: 11 Enter number 5: 8 T

我需要编写一个代码,计算用户输入的一系列数字中相邻奇数对的数量

例如,用户输入序列3、4、5、11、6、17、9、13、12。有三对相邻的奇数:(5,11),(17,9),(9,13)

以下是预期输入和输出的示例:

Enter the length of the sequence:

5

Enter number 1:

57

Enter number 2:

89

Enter number 3:

3

Enter number 4:

11

Enter number 5:

8

The number of pairs of adjacent odd numbers is: 3 
以下是我代码的开头(但我不确定如何找到奇数):


我不知道您为什么在这里使用
eval
,或者将输入存储为字符串而不是列表。。。判断一个数字是否奇数的标准方法是使用模运算符
%
-如果
n%2!=0

类似的方法应该可以工作

n = int(input("Enter the length of the sequence: "))
numbers = []
for _ in range(n):
    numbers.append(int(input()))

c = 0
for i, j in zip(numbers, numbers[1:]):
    if i % 2 and j % 2:
        c += 1
print(c)

使用%模运算符查找奇数

x=int(input("Enter the number of numbers: "))
odd_l=[]
for i in range(1,x+1):
    y=int(input(f"Enter {i} number: "))
    if y%2==1:
        odd_l.append(y)
print("The number of odd number pairs is ",len(odd_l)//2)
    

您提供的数字不是相邻的奇数。此外,您还可以利用模数运算符%,因为它给出了余数。您只需检查余数除以2时是否为1。这似乎不适用于3、5、7这样的序列。这是1,但我假设有两对(3,5)和(5,7)。我认为如果用户输入了很多次,那么它就不会形成一对,所以我使用了floor division
x=int(input("Enter the number of numbers: "))
odd_l=[]
for i in range(1,x+1):
    y=int(input(f"Enter {i} number: "))
    if y%2==1:
        odd_l.append(y)
print("The number of odd number pairs is ",len(odd_l)//2)