所以我试图弄清楚如何打印数字比奇数更多的数字.这是我的代码:
inVal=(input("Please enter a positive integer: "))
evencounter=0
oddcounter=0
for i in range(1,int(inVal)):
for j in range (1,len(str(i))):
if(int(str(i)[j])%2==0):
evencounter+=1
else:
oddcounter+=1
if(evencounter>oddcounter):
print(i)
怎么了?
最佳答案 正如zeet正确指出的那样,你需要重置每个数字上的计数器(它们甚至不需要是全局的),但是你有另一个问题.您需要从0开始第二个循环,而不是1.字符串索引从0开始.
inVal=(input("Please enter a positive integer: "))
for i in range(1,int(inVal)):
evencounter=0
oddcounter=0
for j in range (0,len(str(i))):
if(int(str(i)[j])%2==0):
evencounter+=1
else:
oddcounter+=1
if(evencounter>oddcounter):
print(i)