关于#python#的问题,如何解决?

img


N=input()
l=list(N)
b=len(l)
m=int(N)
if int(N)<0:
    c=b-1
    g=0
    if m%2==0:
        for i in range(1,b):
            if int(l[i])==2:
                g+=1
            if i+1==b:
                k=(g/c)*3
    else:
        for i in range(1,b):
            if int(l[i])==2:
                g+=1
            if i+1==b:
                k=g/c
else:
    c=b
    g=0
    if m%2==0:
        for i in range(0,b):
            if int(l[i])==2:
                g+=1
            if i+1==b:
                k=(g/c)*2
    else:
        for i in range(0,b):
            if int(l[i])==2:
                g+=1
            if i+1==b:
                k=g/c
k=k*100
print("%.2f"%k,end="")
print("%",end="")

img


铁汁门我又来了😭还是总有一种情况过不去
各位帮忙看一下
麻烦了🙏

参考实现如下,望采纳

n = int(input("请输入1个不超过50位的整数"))
count = 0

# 处理负数,如果是负数,count增加0.5
if n < 0:
    n = -n
    count += 0.5

# 处理偶数,如果是偶数,count增加1
if n % 2 == 0:
    count += 1

# 循环遍历n的每一位,如果是2,count增加1
while n:
    if n % 10 == 2:
        count += 1
    n //= 10

# 格式化输出结果
print("{:.2f}%".format(count/len(str(n))*100*count))

N=input()
l=list(N)
b=len(l)
m=int(N)
c=1
if m<0:
    c=c*(1+0.5)
    if m%2==0:
        c=c*2
j=0
for i in l:
    if i=='2':
       j+=1

k=j/11*c*100
print("%.2f"%k,end="")
print("%",end="")