我试图用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/