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="")
参考实现如下,望采纳
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="")