Python语言程序设计教程第2版课后习题

第二章

(1)编写Python程序计算下面各表达式的值

1-1

"""
考点:math库中的数学常数以及函数、python内置的数值运算函数
"""
import math
#方式一:使用math库中的sqrt()函数运算开根号
num1=math.sqrt(math.pi*math.pi+3)
#方式二:使用python内置的pow()函数
num1=pow(pow(math.pi,2)+3,0.5)
print(num1)

1-2

"""
考点:math库中的数学常数以及函数、python内置的数值运算函数
注意:math.log(x, [base=math.e]) 第二个参数是底数,默认是e 
"""
import math
num1=math.log(2*math.pi*math.sqrt(13+math.e))
print(num1)

1-3

"""
考点:math库中的数学常数以及函数、python内置的数值运算函数
注意:使用 atan 函数计算其反正切值
"""
import math
num1=math.atan(math.log(math.pi + 1,3))
print(num1)


(2)编写 Python程序,按下列要求完成计算,结果保留两位小数:

"""
IPO
给定输入数据
输出:保留两位小数round()
处理数据:数学计算公式
圆球的体积=(4/3)πr^3
圆环面积=π(R²-r²)
圆柱体的体积=π*r²* h
圆柱体的表面积=2πr²+2πrh
"""
import math
#①半径为2.11的圆球的体积
area1=(4/3)*math.pi*pow(2.11,3)
print(round(area1,2))
#②外圆半径为16.2,内圆半径为9.4的圆环的面积
area2=math.pi*(16.2*16.2-9.4*9.4)
print(round(area2,2))
#③底面半径为66,高为24.2的圆柱体的体积和表面积
area3=math.pi*66*66*24.2
print(round(area3,2))
area4=2*math.pi*66*66+2*math.pi*66*24.2
print(round(area4,2))


(3)编写Python程序,按下列要求完成计算:输入两个点的坐标(x1, y)和(xz,y2),输出两点间距离是多少,结果保留2位小数。

"""
IPO
输入:两个点的坐标
输出:两点间距离、保留两位小数round()
处理数据:距离计算公式
"""
#I 
x1,y1=eval(input("请输入x1、y1两点的坐标:"))
x2,y2=eval(input("请输入x2、y2两点的坐标:"))
#P
distance=pow((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2),0.5)
#O
print("两点间距离是:",round(distance,2))


(4)编写Python程序,按下列要求完成操作。
输入字符串"http://sports.sina.com.cn/",输出以下结果:
①字符串中字母t出现的次数。
②字符串中"com"子字符串出现的位置。
③将字符串中所有的"."替换为"-"。
④提取"sports"和"sina"两个子字符串串(分别使用正向切片和反向切片方式)。
⑤ 将字符串中的字母全变为大写。
⑥输出字符串的总字符个数。
⑦在字符串后拼接子字符串"index"。

'''
给定字符串,输入不同结果
'''
s="http://sports.sina.com.cn/"
#①字符串中字母t出现的次数
print(s.count('t'))
#②字符串中"com"子字符串出现的位置
print(s.find('com'))
print(s.index('com'))
#③将字符串中所有的"."替换为"-"
print(s.replace('.','-'))
#④ 提取"sports"和"sina"两个子字符串串(分别使用正向切片和反向切片方式)
print(s[7:13])
print(s[-12:-8])
#⑤将字符串中的字母全变为大写。
print(s.upper())
#⑥输出字符串的总字符个数
print(len(s))
#⑦在字符串后拼接子字符串"index"
print(s+'index')
print(''.join((s,'index')))


(5)小明参加语文、数学和英语考试,输入小明的3门课程考试成绩,求3门课程考试成绩的和、平均值以及最高分和最低分。如果3门课程考试成绩分别以权重0.5、0.3和0.2计入总评成绩,求小明的最终总评成绩是多少?编写 Python程序实现上述要求。

"""
IPO
输入:小明的语文、数学、英语考试成绩
输出:三门课程考试成绩的和、平均值、最高分、最低分、总评成绩
处理数据:
简单的加减运算以及python内置的数值运算函数max()、min()
"""
#I 
chinese_score=eval(input("请输入小明的语文成绩"))
math_score=eval(input("请输入小明的数学成绩"))
english_score=eval(input("请输入小明的英语成绩"))
#P
sum_score=chinese_score+math_score+english_score
average_score=(chinese_score+math_score+english_score)/3
max_score=max(chinese_score,math_score,english_score)
min_score=min(chinese_score,math_score,english_score)
total_score=0.5*chinese_score+0.3*math_score+0.2*english_score
#O
print("小明三门课程考试成绩的和:",sum_score)
print("小明三门课程考试成绩的平均值:",average_score)
print("小明三门课程考试成绩的最高分:",max_score)
print("小明三门课程考试成绩的最低分:",min_score)
print("小明三门课程考试成绩的总评成绩:",total_score)


(6)输入一个三位数的整数,求这个三位数每一位上数字的和是多少。例如,输入:382,输出:和为13。编写Python程序实现上述要求。

"""
IPO
输入:一个三位数的整数
输出:三位数上的每一位数字之和
处理数据:
方式一采用取整取余得到百位、十位、个位上的数据进行加和
方式二:通过字符串索引获取百位、十位、个位上的数据,转换成数值类型进行加和 
int()数据类型转换函数
"""
#方式一
#I 
num=eval(input("输入一个三位数的整数:"))
#P
num_hundred=num//100
num_ten=num%100//10
num_individual=num%10
result=num_hundred+num_ten+num_individual
#O
print(result)

#方式二
#I
num=input("输入一个三位数的整数:")
#P
num_hundred=int(num[0])
num_ten=int(num[1])
num_individual=int(num[2])
result=num_hundred+num_ten+num_individual
#O
print(result)

  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值