不知不觉一个星期过去了,继续从 第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
原文地址:https://www.cnblogs.com/echoDetected/p/12290201.html
时间: 2024-11-14 06:37:31