Python程序设计与算法基础-----书本上机实践题⽬及答案@书本为Python程序设计与算法基础教程(第⼆版)-----江红、余青松编著
第⼆章、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("请输⼊本⾦:"))
简述c 命名空间的作用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.16fastjson不出网怎么利用
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 = day().year - birthday
print("您好!{0}。您{1}岁。".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):
python入门教程 非常详细 pdftotal += 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("%d * %d = %02d  " %(i, j, i*j))
print(s)
#上三⾓:
for i in range(1,10):
s = ""
for k in range(1,i):
s += "                  "
for j in range(i,10):
s += str.format("%d * %d = %02d  " %(i, j, i*j))
print(s)
9.编写程序,输⼊三⾓形的三条边,先判断是否可以构成三⾓形,如果可以,则进⼀步求三⾓形的周长和⾯积,否则报错“⽆法构成三⾓形!”
from math import sqrt
a = float(input("请输⼊三⾓形的边长a:"))
b = float(input("请输⼊三⾓形的边长b:"))
c = float(input("请输⼊三⾓形的边长c:"))
if(a < b): a,b = b,a
if(a < c): a,c = c,a
if(b < c): b,c = c,b
if(a < 0 or b < 0 or c < 0 or b+c <= a): print("⽆法构成三⾓形!")
else:
h = (a+b+c)/2
area = sqrt(h*(h-a)*(h-b)*(h-c))
print("周长:{0},⾯积:{1}".format(a+b+c,area))
redishlen命令
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
请输⼊三⾓形的边长a:4
请输⼊三⾓形的边长b:3
请输⼊三⾓形的边长c:5
周长:12.0,⾯积:6.0
10.编写程序,输⼊x,根据如下公式计算分段函数y的值。请分别⽤单分⽀语句,双分⽀语句结构以及条件运算语句等⽅法实现
y = (x2-3x)/(x+1) + 2π + sinx (x≥0 )
y = ln(-5x) + 6√(|x|+e4) - (x+1)3 (x<0)
#单分⽀语句:
import math
50个嵌入式linux项目
x = float(input("请输⼊x:"))
if(x >= 0):
y = (x*x - 3*x)/(x+1) + 2*math.pi + math.sin(x)
if(x < 0):
y = math.log(-5*x) + 6 * math.sqrt(abs(x) + p(4)) - pow(x+1,3)
print(y)
#双分⽀语句:
import math
x = float(input("请输⼊x:"))
if(x >= 0):
y = (x*x - 3*x)/(x+1) + 2*math.pi + math.sin(x)
else:
y = math.log(-5*x) + 6 * math.sqrt(abs(x) + p(4)) - pow(x+1,3)
print(y)
#条件运算语句:
import math
x = float(input("请输⼊x:"))
y = ((x*x - 3*x)/(x+1) + 2*math.pi + math.sin(x)) if(x >= 0) \
else (math.log(-5*x) + 6 * math.sqrt(abs(x) + p(4)) - pow(x+1,3))
print(y)
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
#运⾏1:
请输⼊x:666
668.2715406628656
#运⾏2:
请输⼊x:-666
294079794.1744833
11. 编写程序,输⼊⼀元⼆次⽅程的3个系数a、b、c,求ax2+bx+c=0⽅程的解

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。