实验任务
实验任务1
task1
实验内容:
源代码:
1 #实验1.1 2 #print 输出的几种用法 3 #用法一:用于输出单个字符串或单个变量 4 print('hey','u') 5 6 #用法二:用于输出多个数据项,用逗号分隔 7 print('hey','u') 8 x,y,z=1,2,3 9 print(x,y,z) 10 11 #用法三:用户混合字符串和变量值 12 print('x=%d,y=%d,z=%d'%(x,y,z))#1.传统c风格 13 print('x={},y={},z={}'.format(x,y,z))#2.s.format()方法 14 print(f'x={x},y={y},z={z}')#3.f-string方式 15 16 #其他:输出后是否换行 17 print(x) #默认输出后换一行 18 print(y) 19 print(z) 20 21 print(x,end=' ') #输出结束后,不换行,通过end指定数据项之间的分隔符 22 print(y,end=' ') 23 print(z)
实验结果:
task2
实验内容:
源代码:
1 #1.2 2 #使用字符串的format()方法,对输出数据项进行格式化 3 x1,y1=1.2,3.57 4 x2,y2=2.26,8.7 5 6 #输出1 7 print('{:-^40}'.format('输出1')) #{:-^40}控制输出格式:宽度占40列,居中对齐,空白处用-补齐 8 print('x1={},y1={}'.format(x1,y1)) 9 print('x2={},y2={}'.format(x2,y2)) 10 11 #输出2 12 print('{:-^40}'.format('输出2')) 13 print('x1={:.1f},y1={:.1f}'.format(x1,y1)) #{:.1f}控制小数输出精度,保留一位小数 14 print('x2={:.1f},y2={:.1f}'.format(x2,y2)) 15 16 #输出3 17 print('{:-^40}'.format('输出3')) 18 print('x1={:<15.1f},y1={:<15.1f}'.format(x1,y1)) #{:<15.1f}控制数据输出宽度占15列,小数部分占1列,左对齐,空白处默认补空格 19 print('x2={:<15.1f},y2={:<15.1f}'.format(x2,y2)) 20 21 #输出4 22 print('{:-^40}'.format('输出3')) 23 print('x1={:>15.1f},y1={:>15.1f}'.format(x1,y1)) #{:>15.1f}控制数据输出宽度占15列,小数部分占1列,右对齐,空白处默认补空格 24 print('x2={:>15.1f},y2={:>15.1f}'.format(x2,y2))
实验结果:
task3
实验内容:
源代码:
1 #1.3 2 #使用f-string方式输出数据并控制格式 3 name1,age1='Bill',19 4 name2,age2='Hellen',18 5 title='Personnel Information' 6 print(f'{title:=^40}') #输出title的值,=^40指定输出宽度占40列,居中对齐,用=填充空白 7 print(f'name:{name1:10} age:{age1:3}') #10和3分别指定数据项输出宽度 8 print(f'name:{name2:10} age:{age2:3}') 9 print(40*'=')
实验结果:
实验结论:print用于输出单个或多个变量值,混合字符串和变量值,格式化输出。
实验任务2
task1
实验内容:
源代码:
1 #2.1 2 #内置函数eval() 3 #功能:把字符串转换成python表达式 4 r1=eval('1+2') #相当于r1=1+2 5 print(type(r1),r1) 6 r2=eval('1+2j') #相当于r2=1+2j 7 print(type(r2),r2) 8 r3=eval('"python"') #相当于r3="python" 9 print(type(r3),r3) 10 r4=eval('7,42') #相当于r4=7,42 11 print(type(r4),r4)
实验结果:
task2
实验内容:
源代码:
1 #2.2 2 #组合使用内置函数eval()和input() 3 x,y=eval(input('Enter two oprands:')) #输入的两个操作数之间用逗号分隔 4 ans=x+y 5 print(f'{x}+{y}={ans}') 6 print(f'{type(x)}+{type(y)}={type(ans)}')
实验结果:
实验结论:把字符串转化为Python表达式
实验任务3
实验内容:
源代码:
1 #3 2 #浮点数简单运算 3 ans1=0.1+0.2 4 print(f'0.1+0.2={ans1}') 5 import decimal 6 ans2=decimal.Decimal('0.1')+decimal.Decimal('0.2') 7 print(f'0.1+0.2={ans2}')
实验结果:
实验结论:计算机内部是以二进制进行存储的,因此十进制的有限位的小数在进来之后,会在计算机内部会显示是一个无限位的小数,计算机存储近似值。Decimal可用来保存具有小数点而且数值确定的数值。
实验任务4
实验内容:
源代码:
1 #4 2 #字符编码相关 3 #chr()返回Unicode编码对应的字符 4 print(chr(0x1f600),end=" ") 5 print(chr(0x1f601),end=" ") 6 print(chr(0x1f602),end=" ") 7 print(chr(0x1f603),end=" ") 8 print(chr(0x1f604),) 9 10 print(chr(10000),end=" ") 11 print(chr(0x025b),end=" ") 12 print(chr(0x2708),end=" ") 13 print(chr(0x00A5),end=" ") 14 print(chr(0x266b)) 15 16 #ord()返回字符的unicode编码 17 print(ord('a'),end=" ") 18 print(ord('b'),end=" ") 19 print(ord('c')) 20 21 print(ord('A'),end=" ") 22 print(ord('B'),end=" ") 23 print(ord('C')) 24 25 print(ord('0'),end=" ") 26 print(ord('1'),end=" ") 27 print(ord('2'))
实验结果:
实验结论:chr( {需要转换的Unicode编码} ),返回值是对应的字符,ord( {需要转换的字符} ),返回值是对应的Unicode编码。
实验任务5
task1
实验内容:
源代码:
1 #5.1 2 #简单的数学计算 3 import math 4 n=float(input('输入一个数:')) 5 6 #python中计算开平方的三种方式 7 ans1=n**0.5 8 ans2=pow(n,0.5) 9 ans3=math.sqrt(n) 10 print('%.2f的平方根是:%.2f'%(n,ans1)) #以传统风方式(%)输出 11 print('{:2f}的平方跟是:{:.2f}'.format(n,ans2)) #使用str。format()方式输出 12 print(f'{n:.2f}的平方根是:{ans3:.2f}') #使用f-string方式输出
实验结果:
task2
实验内容:
源代码:
1 #5.2 2 #神奇的pi,与大饼 3 import math 4 text=''' 5 好奇心是人的天性。 6 理想情况下,学习新东西是让人愉快的事。 7 但学校里的学习似乎有点像苦役。 8 有时候,需要画一个大饼,每次尝试学一些新鲜的,才会每天变得更好一点点。 9 ''' 10 print(text) 11 r=float(input('给学习画一个大饼,大饼要做的很大,半径要这么大:')) 12 circle=2*math.pi*r 13 print(f'绕起来,大饼的圆周有这么长,{circle},够不够激发你探索未知的动力...')
实验结果:
实验任务6
实验内容:
源代码:
1 #6 2 import math 3 x=eval(input()) 4 y=x**365 5 print(f'{x}的365次方:{y}')
实验结果:
实验任务7
实验内容:
源代码:
1 #7 2 import math 3 pi=math.pi 4 e=math.e 5 p=1.308 6 c=3.7 7 k=5.4*10**(-3) 8 M=47 9 Tw=100 10 Ty=70 11 T0=eval(input('鸡蛋初始温度:')) 12 t1=M**(2/3)*c*p**(1/3) 13 t2=k*pi**2*(4*pi/3)**2/3 14 t3=0.74*(T0-Tw)/(Ty-Tw) 15 t4=math.log(t3,e) 16 t=t1*t4/t2 17 y,x=math.modf(t/60) 18 y=round(y) 19 print(f'T0={T0}C,t={x}分{y}秒')
实验结果:
实验任务8
实验内容:
源代码:
#8 """家用电器销售系统 v1.2 """ print('欢迎使用家用电器销售系统!') #产品信息列表 print('**********************************************') print('%-10s'%'编号','%-10s'%'名称','%-10s'%'品牌','%-10s'%'价格','%-10s'%'库存数量') print('---------------------------------------------------------------') print('%-10s'%'0001','%-10s'%'电视机','%-10s'%'海尔','%10.2f'%5999.00,'%10d'%20) print('%-10s'%'0002','%-10s'%'冰箱','%-10s'%'西门子','%10.2f'%6998.00,'%10d'%15) print('%-10s'%'0003','%-10s'%'洗衣机','%-10s'%'小天鹅','%10.2f'%1999.00,'%10d'%10) print('%-10s'%'0004','%-10s'%'空调','%-10s'%'格力','%10.2f'%3900.00,'%10d'%0) print('%-10s'%'0005','%-10s'%'热水器','%-10s'%'美的','%10.2f'%688.00,'%10d'%30) print('%-10s'%'0006','%-10s'%'笔记本','%-10s'%'联想','%10.2f'%5699.00,'%10d'%10) print('%-10s'%'0007','%-10s'%'微波炉','%-10s'%'苏泊尔','%10.2f'%480.50,'%10d'%33) print('%-10s'%'0008','%-10s'%'投影仪','%-10s'%'松下','%10.2f'%1250.00,'%10d'%12) print('%-10s'%'0009','%-10s'%'吸尘器','%-10s'%'飞利浦','%10.2f'%999.00,'%10d'%9) print('---------------------------------------------------------------') #商品数据 products=[ ['0001','电视机','海尔',5999.00,20], ['0002','冰箱','西门子',6998.00,15], ['0003','洗衣机','小天鹅',1999.00,10], ['0004','空调','格力',3900.00,0], ['0005','热水器','美的',688.00,30], ['0006','笔记本','联想',5699.00,10], ['0007','微波炉','苏泊尔',480.00,33], ['0008','投影仪','松下',1250.00,12], ['0009','吸尘器','飞利浦',999.00,9], ] #用户输入信息 product_id=input('请输入您要购买的产品编号:') #编号合法性判断 if product_id not in [item[0] for item in products]: print('编号不存在,系统退出...') exit(0) count=int(input('请输入您要购买的产品数量:')) #获取编号对应商品的信息 product_index=int(product_id)-1 product=products[product_index] #数量有效性判断 if count>product[4]: print('数量超出库存,系统退出...') exit(0) #计算金额 amount=product[3]*count if 5000<amount<=10000: amount=amount*0.95 elif 10000<amount<=20000: amount=amount*0.90 elif amount>20000: amount=amount*0.85 print('购买成功,您需要支付%8.2f元'%amount) #退出系统 print('谢谢您的光临,下次再见!')
实验结果:
浙公网安备 33010602011771号