PTA的Python练习题
Posted Ch0bits
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PTA的Python练习题相关的知识,希望对你有一定的参考价值。
不知不觉一个星期过去了,继续从 第3章-12 求整数的位数及各位数字之和 开始做题
1.
我原来想用题目漏洞做题的,不过想想还是算了自己写个完整的:
a=int(input())
b=len(str(a))-1
d=b+1
count=0
for i in range(0,d):
c=a/(10**b)
c=int(c)
e=c-1
count=count+c
a=a-10**e*c
b=b-1
print(\'{} {}\'.format(d,count))
这道题的int类型是不能直接求位数的,会报错,需要强制类型转换成str算length(代码第二行)
2.
s = input()
ss = \'\'
for c in s:
if "A" <= c <= "Z":
ss += chr(155 - ord(c))
else:
ss += c
print(ss)
知识点:ord()函数。返回对应的ascii码值,Z(90)+A(65)=155
chr()函数,返回对应的字符
3.
上面的代码拿下来稍微修改一下:
s = input()
ss = \'\'
for c in s:
if c==\'#\':
break
if "A" <= c <= "Z":
ss += chr(ord(c) + 32)
else:
ss += c
print(ss)
很简单大小写的ASCII码差32
以上是关于PTA的Python练习题的主要内容,如果未能解决你的问题,请参考以下文章