如何采取以前输入的整数,并找到一个数字中的赔率平稳和零
问题描述:
我的一个模块需要我采取以前输入的整数,并找到平均值,赔率和零。但是我的代码给了我一些有缺陷的结果。有一点帮助,将不胜感激如何采取以前输入的整数,并找到一个数字中的赔率平稳和零
def oez(num):
s = 0
count_odd = int (0)
count_even = int (0)
count_zero= int (0)
while (num > 0):
r = num % 10
s= s+r
num = num //10
if num % 2 == 0:
count_even=+1
elif num % 10 == 0:
count_zero=+1
else:
count_odd=+ 1
print("Number of even numbers :",count_even)
print("Number of odd numbers :",count_odd)
print("Number of Zeroes:", count_zero)
答
因为IM的感觉邪恶今天上午在这里是一个很酷的解决方案(目标数是551240
)
odd,even,zed = map(len,map(''.join,zip(*re.findall("([13579])|([2468])|(0)","551240"))))
print(odd,even,zed)
粗的
更理智的解决办法可能只是为了检查各数字
odd=even=zed=0
for digit in "551240":
if digit in "2468": even += 1
elif digit in "13579": odd += 1
elif digit == "0": zed += 1
+0
它的效果很好。但是,如何让它适用于之前输入的整数 –
答
def oez(num):
count_odd = 0
count_even = 0
count_zero = 0
for letter in str(num): # Cast the input as a string
digit = int(letter) # Cast the character as an int (0-9)
if digit == 0:
count_zero += 1
elif digit % 2 == 0:
count_even += 1
elif digit == 0:
count_odd += 1
else:
print("Invalid character")
print("Number of even numbers :",count_even)
print("Number of odd numbers :",count_odd)
print("Number of Zeroes:", count_zero)
答
def oez(num):
num_repr = str(int(num))
zeroes = len([digit for digit in num_repr if digit == "0"])
evens = len([digit for digit in num_repr if int(digit) % 2 == 0])
odds = len([digit for digit in num_repr if int(digit) % 2 == 1])
print("evens: %d" % evens)
print("zeroes: %d" % zeroes)
print("odds: %d" % odds)
它给你不想要的结果是什么?你期待什么结果? – ifconfig
如果我要输入11它说我有1奇数和1零并且没有平铺 –
什么是菜单的一部分?你得到了什么?你想得到什么? – ifconfig