用pytho来解PAT1057数壹零-20-满分

这题大概看完就能知道怎么做

将A-Z和1-16对应,然后遍历输入的字符串,一一相加就ok

但是将对应关系用列表或者字典很麻烦,这里推荐可以使用编码

代码:

str = input().lower()
num = 0
for i in str:
    if 'a' <= i <= 'z':
        num += ord(i) - ord('a') +1
l = list(bin(num))
if num == 0:
    print(0,0)
else:
    print(l[2:].count('0'),l[2:].count('1'))

提交结果:

用pytho来解PAT1057数壹零-20-满分