【疯狂Python讲义】第二章课后题练习

3.从标准输入读取两个整数并打印两行,其中第一行输出两个整数的整除结果;第二行输出两个整数的带小数的除法结果。不需要执行任何四舍五入或格式化操作。

# 键盘录入两个整数
num1 = int(input("请输入第一个数:"))
num2 = int(input("请输入第一个数:"))

# 第一行输出两个整数整除结果
print("%d//%d=" % (num1, num2), num1 // num2)

# 第二行输出两个整数的带小数的除法结果
print("%d/%d=" % (num1, num2), num1 / num2)

运行结果:

【疯狂Python讲义】第二章课后题练习_第1张图片

4.从标准输入读取两个整数并打印三行,其中第一行包含两个数的和;第二行包含两个数的差(第一个数减第二个数);第三行包含两个数的乘积结果。

# 键盘录入2个整数
num1 = int(input("请输入第一个整数:"))
num2 = int(input("请输入第二个整数:"))

# 输出两个数的和
print("%d+%d=" % (num1, num2), num1 + num2)

# 输出两个数的差
print("%d-%d=" % (num1, num2), num1 - num2)

# 输出两个数的乘积
print("%d*%d=" % (num1, num2), num1 * num2)

运行结果:

【疯狂Python讲义】第二章课后题练习_第2张图片

5.用户输入一个字符串和一个子串,程序必须打印出给定子串在目标字符串中出现的次数。字符串遍历将从左到右进行,而不是从右到左。例如给定'ABCDCDC'和'CDC',程序输出“2”。

# 键盘输入一个字符串
str1 = input("请输入一个字符串:")

# 键盘输入子串
childStr = input("请输入一个子串:")

# 输出子串在目标字符串中出现的次数
count = 0

# 若主字符串长度不为0,还要往后找
while len(str1) > 0:

    # 记录第一次出现的索引
    i = str1.find(childStr)

    # 若有(只要不是-1就是有子串),则还要往后找
    if i >= 0:
        str1 = str1[i+1:]
        count += 1
    else:
        break
print(count)

运行结果:

6.给定任意一个整数,打印出该整数的十进制、八进制、十六进制(大写)、二进制形式的字符串。

# 键盘输入一个整数
num = int(input("请输入一个整数:"))

# 打印十进制
print("该数的十进制为%s" % str(num))

# 打印八进制
print("该数的八进制为%s" % oct(num))

# 打印十六进制(大写)
print("该数的十六进制为%s" % hex(num).upper())

# 打印二进制
print("该数的二进制为%s" % bin(num))

这样运行结果是:

【疯狂Python讲义】第二章课后题练习_第3张图片

这里还没有想到怎样不打印出进制数的前缀~~~后面再想想

7.通过学习我们知道str是不可变的,本程序要实现一个功能:用户输入一个字符串,修改该字符串中哪个位置的字符,程序就会输出修改后的结果。

# 键盘录入字符串
str1 = input("请输入一个字符串:")
# 键盘录入替换字符位置和需要替换的字符
str2 = input("请输入替换字符的位置和需要替换的字符:")

resultStr = ""
num = str2.split(" ")[0]
char1 = str2.split(" ")[1]


# 遍历字符串,到指定位置时修改字符
for c in range(len(str1)):
    if c == int(num):
        resultStr += char1
    else:
        resultStr += str1[c]
print(resultStr)

运行结果:

【疯狂Python讲义】第二章课后题练习_第4张图片

你可能感兴趣的:(Python学习笔记)