我试图用Python编写代码,要求用户输入序列中的数字,然后输入数字。最后,程序输出相邻奇数对的数量。这是一个示例输出:

输入序列的长度:6
输入数字1:3
输入数字2:4
输入数字3:7
输入数字4:9
输入数字5:3
输入数字6:5
相邻奇数对的数量为3

我想出了以下代码:

length = eval(input("Enter the length of the sequence: "))

for i in range(1,length+1):
    ask = eval(input("Enter number: "+str(i)+ ": "))
    for m in range(0,length+1,2):
        ask2 = ask

h = ask%2
f = ask2%2

if h>0 and f>0:
    k = (len(str(ask) + str(ask2)))
    print(k)

else:
    pass


尽管提示的输出是正确的,但我无法计算相邻奇数的对数。请帮助我更正或建立代码;这将受到高度赞赏。您一定已经注意到,我一直在使用基本的if语句,循环和字符串编写代码。如果您能坚持这一点以便我更好地理解,那将是非常不错的。

抱歉,长篇文章。

非常感谢

最佳答案

这样可以解决您的问题。

首先,将用户提供的输入输入到名为numList的列表中。保留一个count变量以计算相邻奇数的数量。循环遍历numList并通过检查除以2的余数来确定奇数(通过给定的if条件检查),然后可以简单地在列表中打印相邻奇数的数目。

length=int(input("Enter the length of the sequence: "))
numList=[]
count=0
for i in range(length):
    num=int(input("Enter number "+str(i+1)+ ": "))
    numList.append(num)

for x in range(len(numList)-1):
    num1=numList[x]
    num2=numList[x+1]
    if((num1%2==1) and (num2%2==1)):
        count=count+1
    else:
        continue

print("The number of pairs of adjacent odd numbers is "+str(count))


如果您要解决此问题而不使用列表,这就是答案。
您应该在输入时以及输入时进行处理。

length=int(input("Enter the length of the sequence: "))
count=0
num1=int(input("Enter number "+str(1)+ ": "))
for i in range(length-1):
    num2=int(input("Enter number "+str(i+2)+ ": "))
    if((num1%2==1) and (num2%2==1)):
        count=count+1
    num1=num2


print("The number of pairs of adjacent odd numbers is "+str(count))

关于python - 计算相邻奇数的数量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29591125/

10-12 21:00