PAT乙级1006题python3代码
目录
- PAT乙级1006题python3代码
-
- 目录
- 代码
-
题目:
让我们用字母B来表示“百”、字母S表示“十”,用“12…n”来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整数。例如234应该被输出为BBSSS1234,因为它有2个“百”、3个“十”、以及个位的4。
输入格式:每个测试输入包含1个测试用例,给出正整数n(<1000)。
输出格式:每个测试用例的输出占一行,用规定的格式输出n。
输入样例1:
234
输出样例1:
BBSSS1234
输入样例2:
23
输出样例2:
SS123
代码
# -*- coding: utf-8 -*-
"""
Created on Mon Mar 27 22:45:41 2017
@author: xyq152438
"""
def panduan(a):
b = str(a)
list_1 = []
list_2 = []
list_3 = []
baiwei =int(int(a)/100) #判断百位,十位,各位,十位可以不这么麻烦用a%100/10即可
a_1=int(a)-int(baiwei*100)
shiwei = a_1/10
gewei = a_1%10
if len(b)==3: #三位数的情况
for i in range(int(baiwei)):
list_1.append (‘B‘) #B转为数组
str_1 = ‘‘.join(list_1) #B数组转为字符串
if int(shiwei)==0:
str_2 =‘0‘
else:
for i in range(int(shiwei)):
list_2.append(‘S‘)
str_2 = ‘‘.join(list_2)
if int(gewei) == 0:
print(str_1+str_2+‘0‘)
else:
for i in range(int(gewei)):
list_3.append(str(i+1))
str_3 = ‘‘.join(list_3)
print(str_1+str_2+str_3)
elif len(b)==2: #2位数情况
for i in range(int(shiwei)):
list_2.append(‘S‘)
str_2 = ‘‘.join(list_2)
if int(gewei)==0:
print(str_2+‘0‘)
else:
for i in range(int(gewei)):
list_3.append(str(i+1))
str_3 = ‘‘.join(list_3)
print(str_2+str_3)
elif len(b)==1: #个位数情况
if int(gewei)==0:
print(0)
else:
for i in range(int(gewei)):
list_3.append(str(i+1))
str_3 = ‘‘.join(list_3)
print(str_3)
a = input()
panduan(a)
如果您感觉我的文章对您有帮助,请帮忙点击下广告,以支持本站的发展,谢谢!
本文由【waitig】发表在等英博客
本文固定链接:PAT乙级1006题python3代码
Wordpress技术交流群:451350210
如果您觉得文章对您有帮助,可以在此赞助:
时间: 2024-11-07 13:12:02