书后习题答案:《Python程序设计基础(第2版)》,电子工业出版社,2020.01

发布于:2024-12-18 ⋅ 阅读:(331) ⋅ 点赞:(0)

【持续更新】

第 2 章

一、选择题

  1. B
  2. B
  3. B
  4. BD
  5. AD
  6. C
  7. A B
  8. C
  9. D
  10. AC
  11. D

二、填空题

  1. ‘#’
  2. ‘\’
  3. 整数(int)、浮点数(float)、布尔值(bool)、复数(complex)
  4. n % 2 == 0 (或:not n % 2)

第 3 章

from math import *

x1 = float(input("请输入x1: "))
# print(x1)
x2 = float(input("请输入x2: "))
y1 = float(input("请输入y1: "))
y2 = float(input("请输入y2: "))

dis = sqrt(pow(x1 - x2, 2) + pow(y1 - y2, 2))
print("两点之间的距离:", dis)

from math import *
import random

x1 = random.randint(1, 10)  # 圆锥的半径
x2 = random.randint(1, 10)  # 圆锥的高

vol = pi * x1 * x1 * x2 / 3  # 圆锥的体积
print("圆锥的体积为:", vol)

第 4 章

一、单选题

  1. D
  2. B
  3. B
  4. D
  5. ACD
  6. B
  7. C

二、程序填充题

code = ('g', 'K', 'a', 'P', 'W', 'x', 'E', 'Q', 'f', 't')
while True:
    d = ''
    s = input("Please Input the Ciphertext('q' for Exit): \n")
    if s == 'q':
        break
    for i in range(len(s)):
        if s[i] in code:
            p = code.index(s[i])
            d += str(p)
        else:
            d += '?'
    print("The Plaintext is:\n" + d)

三、程序设计题

def get_code(c_num_15):
    sum = 0
    for i in [0, 2, 4, 6, 8, 10, 12, 14]:
        mul = c_num_15[i] * 2
        sum += mul % 10  # 乘积的个位数
        sum += mul // 10  # 乘积的十位数

    # print(sum)
    for i in [1, 3, 5, 7, 9, 11, 13]:
        sum += c_num_15[i]

    # print(sum)

    dig = sum % 10
    if dig == 0:
        code = 0
    else:
        code = 10 - dig

    return code
"""
例程:检验卡号合法性
"""

import numpy
from Q3 import get_code

c_num_16 = numpy.zeros(16)
# print(c_num_15)
print("请输入完整卡号(16位):")
for i in range(16):
    c_num_16[i] = int(input())

print("请再次确认卡号:")
print(c_num_16)

c_num_15 = c_num_16[:15]  # 切片,取前15位
# print(c_num_15)

code = get_code(c_num_15)
if code == c_num_16[15]:
    print("卡号合法")
else:
    print("卡号不合法")

第 5 章

一、选择题

  1. A
  2. B
  3. D
  4. A

第 6 章

一、选择题

  1. D
  2. ?
  3. D
  4. A
  5. D
  6. B

二、程序填充题
1.

def func(x, y):
    """
    :param x:
    :param y:
    :return: x ^ y
    """
    s = 1
    for i in range(1, y + 1):
        s = s * x
    return s


# func(3, 4)  # 3 ^ 4 = 81
def main():
    while True:
        n = int(input("Please Input an Even Number(2-8, Press '0' for Exit):\n"))
        if n == 0:
            break
        if (2 <= n <= 8) and (n % 2 == 0):
            res = func(n + 1, n) - func(n, n - 1)
            print("The Result is:", str(res))
        else:
            print("Out of the Range")


if __name__ == '__main__':
    main()

import random


def redEnv(k, rest):
    m = random.random() * rest
    return m


total = float(input("请输入红包金额:"))
num = int(input("请输入红包个数:"))
remain = total

for i in range(num - 1):
    money = redEnv(i, remain)
    remain -= money
    print("红包%d: %.2f" % (i + 1, money))

print("红包%d: %.2f" % (num, remain))

def judge(passwd):
    result = 0
    n = len(passwd)
    if n >= 8:
        result += 1
    for i in range(n):
        if '0' <= passwd[i] <= '9':
            result += 1
            break
    for i in range(n):
        if 'A' <= passwd[i] <= 'Z':
            result += 1
            break
    for i in range(n):
        if 'a' <= passwd[i] <= 'z':
            result += 1
            break
    return result


while True:
    st = input("请输入测试密码(直接回车为退出):\n")
    if st == "":
        break
    s = judge(st)
    print("%s的密码强度为%d级" % (st, s))

第 7 章

  1. C
  2. A
  3. B
  4. B
  5. B
  6. C
  7. D
  8. B

网站公告

今日签到

点亮在社区的每一天
去签到