• 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

    [Sign]做不出ctf题的时候很痛苦,你只能眼睁睁看着其他人领先你
  • 相关阅读:
    GIL
    CRM2Stark组件
    Django图书管理系统(单表操作)
    Python(ATM机low版)
    Python(9-18天总结)
    Python(1-8天总结)
    Python习题(分页显示)
    Python文本操作2
    Python递归二分法
    Python文本操作
  • 原文地址:https://www.cnblogs.com/echoDetected/p/12290201.html
Copyright © 2020-2023  润新知