赞
踩
这篇文章主要介绍了python课本课后题答案,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。
1.编写程序,输入球的半径,计算球的表面积和体积(结果保留两位小数)
- #计算圆的表面积和体积:
- import math
- r = float(input("请输入球的半径:"))
- area = 4 * math.pi * r**2
- volume = 4/3*math.pi*r**3
- print(str.format("球的表面积为:{0:2.2f},体积为:{1:2.2f}",area,volume))
-
- #>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- 请输入球的半径:666
- 球的表面积为:5573889.08,体积为:1237403376.70
2.编写程序,声明函数getValue(b,r,n),根据本金b,年利率r和年数n计算最终收益v
- money = int(input("请输入本金:"))
- rate = float(input("请输入年利率(<1):"))
- years = int(input("请输入年数:"))
-
- def getValue(b,r,n):
- return b*(1+r)**n
-
- print(str.format("本金利率和为:{0:2.2f}",getValue(money,rate,years)))
-
- #>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- 请输入本金:10000
- 请输入年利率(<1):0.6
- 请输入年数:6
- 本金利率和为:167772.16
3. 编写程序,求解一元二次方程x2-10x+16=0
- from math import sqrt
- x = (10+sqrt(10*10-4*16))/2
- y = (10-sqrt(10*10-4*16))/2
- print(str.format("x*x-10*x+16=0的解为:{0:2.2f},{1:2.2f}",x,y))
-
- #>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- x*x-10*x+16=0的解为:8.00,2.00
4.编写程序,提示输入姓名和出生年份,输出姓名和年龄
- import datetime
- sName = str(input("请输入您的姓名:"))
- birthday = int(input("请输入您的出生年份:"))
- age = datetime.date.today().year - birthday
- print("您好!{0}。您{1}岁不会c语言直接学python。".format(sName,age))
-
- #>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- 请输入您的姓名:zgh
- 请输入您的出生年份:1999
- 您好!zgh。您20岁。
1.编写程序,计算1=2+3+…+100之和
- #1.使用for循环(递增):
- total = 0
- for i in range(101):
- total += i
- print(total)
-
- #2.使用求和公式:
- >>> (1 + 100) * 100 /2
- 5050.0
-
- #3.使用累计迭代器itertools.accumulate:
- >>> import itertools
- >>> list(itertools.accumulate(range(1, 101)))[99]
- 5050
2.编写程序,计算10+9+8+…+1之和
- #使用累计迭代器itertools.accumulate:
- >>> import itertools
- >>> list(itertools.accumulate(range(1,11)))[9]
- 55
3.编写程序,计算1+3+5+7+…+99之和
- #1.使用for循环(递增):
- total = 0
- for i in range(1,100,2):
- total += i
- print(total)
-
- #2.使用累计迭代器itertools.accumulate:
- >>> import itertools
- >>> list(itertools.accumulate(range(1,100,2)))[49]
- 2500
4.编写程序,计算2+4+6+8+…+100之和
- #使用累计迭代器itertools.accumulate:
- >>> import itertools
- >>> x = list(itertools.accumulate(range(2,101,2)))
- >>> x[len(x)-1]
- 2550
5.编写程序,使用不同的实现方法输出2000~3000的所有闰年
- #1.
- for y in range(2000,3001):
- if((y % 4 == 0 and y % 100 != 0) or y % 400 == 0):
- print(y,end = ' ')
-
- #2.使用calendar模块的isleap()函数来判断:
- from calendar import isleap
- for y in range(2000,3001):
- if(isleap(y)):print(y,end = " ")
6.编写程序,计算Sn=1-3+5-7+9-11…
- #1.
- n = int(input("项数:"))
- total = 0
- flag = True
- for i in range(1,2*n,2):
- if(flag):
- total += i
- flag = False
- else:
- total -= i
- flag = True
- print(total)
-
-
- #2.
- n = int(input("项数:"))
- total = 0
- x = 2
- for i in range(1,2*n,2):
- total += pow(-1,x)*i
- x += 1
- print(total)
-
- #>>>>>>>>>>>>>>>>>>>>>>>>>>
- 项数:10
- -10

7.编写程序,计算Sn=1+1/2+1/3+…
- n = int(input("项数:"))
- total = 0.0
- for i in range(1,n+1):
- total += 1/i
- print(total)
-
- #>>>>>>>>>>>>>>>>>>>>>>>>>
- 项数:10
- 2.9289682539682538
8.编写程序,打印九九乘法表。要求输入九九乘法表的各种显示效果(上三角,下三角,矩形块等方式)
- #矩形块:
- for i in range(1,10):
- s = ""
- for j in range(1,10):
- s += str.format("%d * %d = %02d " %(i, j, i*j))
- print(s)
-
-
- #下三角:
- for i in range(1,10):
- s = ""
- for j in range(1,i+1):
- s += str.format("
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。