第三章 基本数据类型

3.1 数字类型

3.1.1 整数类型
3.1.2 浮点数类型
3.1.3 复数类型

3.2 数字类型的运算

3.2.1 数值运算操作符
3.2.2 数值运算函数

3.3 字符串类型及格式化

3.3.1 字符串的索引
3.3.2 字符串的切片
3.3.3 format()方法的基本使用
3.3.4 format()方法的格式控制

3.4 字符串类型的操作

3.4.1 字符串操作符
3.4.2 字符串处理函数
3.4.3 字符串处理方法

3.5 类型判断和类型问间转换

3.6 实例解析——恺撒密码

# 恺撒密码——加密
# 恺撒密码的加密算法程序首先接收用户输入的文本,然后对字母a-z和字母A-Z按照密码算法进行转换
txt=input("请输入待加密的明文密码:")
for p in txt:
    if "a" <= p <= "z":
        print(chr(ord("a")+(ord(p)-ord("a")+3)%26),end="")
    elif "A" <= p <="Z":
        print(chr(ord("A") + (ord(p) - ord("A") + 3) % 26), end="")
    else:
        print(f"{p}",end="")
        
# 恺撒密码——解密
# 恺撒密码的解密算法程序首先接收用户输入的加密文本,然后对字母a-z和字母A-Z按照密码算法进行反向转换
txt = input("请输入待解密的密文:")
for p in txt:
    if "a" <= p <= "z":
        print(chr(ord("a") + (ord(p) - ord("a") - 3) % 26), end="")
    elif "A" <= p <= "Z":
        print(chr(ord("A") + (ord(p) - ord("A") - 3) % 26), end="")
    else:
        print(f"{p}", end="")

习题3

一、选择题
  1. 以下是八进制数字的是:______

    A 0b072 B 0a1010 C 0o711 D 0x456

    正确答案:C

  2. 以下字符串合法的是:______

    A “abc’def’ghi” B “I love “love” Python” C “I love Python” D 'I love 'Python"

    正确答案:A

  3. Python程序采用Unicode编码,英文字符和中文字符在Python中分别对应字符的个数是:______

    A 1;1 B 1;2 C 2;1 D 2;2

    正确答案:A

  4. 以下不是Python内置数据类型的是:______

    A char B int C float D list

    正确答案:A

  5. Python支持复数类型,以下说法错误的是:______

    A 实部和虚部都是浮点数 B 表示复数的语法是real+image j

    C 1+1j是复数 D 虚部后缀j必须是小写形式

    正确答案:D

  6. 以下是print(‘\nPython’)语句运行结果的是:______

    A 在新的一行输出:Python B 直接输出:‘\nPython’

    C 直接输出:\nPython D 先输出n,然后新的一行输出Python

    正确答案:A

  7. 字符串:s = ‘abcde’,n是字符串s的长度。索引字符串s字符’c’,哪个语句是正确的?______

    A s[n/2] B s[(n+1)/2] C s[n//2] D s[(n+1)//2]

    正确答案:C

  8. 以下不是Python内置函数的是:______

    A int() B float() C len() D string()

    正确答案:D

  9. 以下能够根据逗号’,'分隔字符串的是:______

    A s.split() B s.strip() C s.center D s.replace()

    正确答案:A

  10. 以下能够同时作用于所有数字类型和字符串类型的函数是:______

    A len() B complex() C type() D bin()

    正确答案:C

二、编程题
  1. 获得用户输入的一个整数,输出该整数百位及以上的数字。

    num = int(input("请输入一个整数:"))
    if num >= 100:
        print(f"该整数百位及以上的数字是:{num // 100}")
    
  2. 获得用户输入的一个字符串,将字符串按照空格分割,然后逐行打印出来。

    content = input("请输入一段字符串:")
    content1 = content.split()
    for i in content1:
        print(i)
    
  3. 程序读入一个表示星期几的数字(1-7),输出对应的星期字符串名称。例如:输入3,返回“星期三”。

    num = int(input("请输入表示星期几的数字(1-7):"))
    if num == 1:
        print(f"星期一")
    elif num == 2:
        print(f"星期二")
    elif num == 6:
        print(f"星期三")
    elif num == 4:
        print(f"星期四")
    elif num == 5:
        print(f"星期五")
    elif num == 6:
        print(f"星期六")
    elif num == 7:
        print(f"星期日")
    else:
        print("输入错误!")
    
  4. 设n是一任意自然数,如果n的各位数字反向排列所得自然数与n相等,则n被称为回文数。从键盘输入一个5位数字,请编写程序判断这个数字是不是回文数。

    num = input("请输入一个5位数字:")
    if num == num[::-1]:
        print(f"{num}是回文数")
    else:
        print(f"{num}不是回文数")
    
  5. 输入一个十进制整数,分割输出其二进制、八进制、十六进制字符串。

    decimal_num = int(input("请输入一个十进制整数:"))
    
    bin_num = bin(decimal_num)[2:]  # 二进制
    oct_num = oct(decimal_num)[2:]  # 八进制
    hex_num = hex(decimal_num)[2:]  # 十六进制
    
    print(f"二进制数字为:{bin_num}")
    print(f"八进制数字为:{oct_num}")
    print(f"十六进制数字为:{hex_num}")
    
05-24 06:03