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练习题的主要内容,如果未能解决你的问题,请参考以下文章

PTA的Python练习题

PTA的Python练习题

PTA的Python练习题(十九)

PTA的Python练习题(十五)

PTA的Python练习题

PTA的Python练习题(十六)