出处:https://pintia.cn/problem-sets/994805260223102976/problems/994805318855278592
这个题还是比较简单的:
n = int(input())
bai = 0
shi = 0
ge = 0
bai = int(n / 100)
shi = int((n - 100 * bai) / 10)
ge = n % 10
shuchu = ''
for i in range(int(bai)):
shuchu += 'B'
for i in range(int(shi)):
shuchu += 'S'
for i in range(int(ge)):
shuchu += str(i + 1)
print(shuchu)
发一下第一次写的一个错误答案:
错误代码:
n = int(input())
bai = 0
shi = 0
ge = 0
bai = n / 100
shi = (n - (100 * bai)) / 10
ge = n % 10
shuchu = ''
for i in range(int(bai)):
shuchu += 'B'
for i in range(int(shi)):
shuchu += 'S'
for i in range(int(ge)):
shuchu += str(i + 1)
print(shuchu)
这个测试结果是这样的:
234
BB1234
Process finished with exit code 0
可以看到十位没有显示出来。原因出在:
bai = n / 100
shi = (n - (100 * bai)) / 10
我把/当成整除的意思了,实际上除出来是小数,改成
bai = int(n / 100)
shi = int((n - 100 * bai) / 10)
用int去一下小数部分就可以啦。