实验1 Python开发环境使用和编程初体验
task1_1.py
1 # print输出的几种用法 2 3 # 用法1: 4 print('hey,u') 5 6 # 用法2: 7 print('hey','u') 8 x,y,z = 1,2,3 9 print(x,y,z) 10 11 # 用法3: 12 print('x = %d, y = %d, z = %d' %(x,y,z)) 13 print('x = {}, y = {}, z = {}'.format(x,y,z)) 14 print(f'x = {x}, y = {y}, z = {z}') 15 16 # 其它: 17 print(x) 18 print(y) 19 print(z) 20 21 print(x, end=' ') 22 print(y, end=' ') 23 print(z)

task1_2.py
1 # 使用字符串的format()方法,对输出数据进行格式化 2 3 x1, y1 = 1.2, 3.57 4 x2, y2 = 2.26, 8.7 5 6 # 输出1 7 print('{:-^40}'.format('输出1')) 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)) 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)) 19 print('x2 = {:<15.1f}, y2 = {:<15.1f}'.format(x2, y2)) 20 21 # 输出4 22 print('{:-^40}'.format('输出4')) 23 print('x1 = {:>15.1f}, y1 = {:>15.1f}'.format(x1, y1)) 24 print('x2 = {:>15.1f}, y2 = {:>15.1f}'.format(x2, y2))

task1_3.py
1 # 使用f-string方式输出数据并控制格式 2 3 name1, age1 = 'Bill', 19 4 name2, age2 = 'Hellen', 18 5 title = 'Personnel Information' 6 7 print(f'{title:=^40}') 8 print(f'name: {name1:10} age: {age1:3}') 9 print(f'name: {name2:10} age: {age2:3}') 10 print(40*'=')

总结:print()用于输出的几种常用用法:
1.输出单个字符串或变量
2.混合字符串或变量:传统c风格,s,format()方法,f-string方式
task2_1.py
1 # 内置函数eval() 2 # 功能:把字符串转换为python表达式 3 # 理解:相当于把圆括号中的内容,两侧引号去掉 4 5 r1 = eval('1 + 2') 6 print(type(r1), r1) 7 8 r2 = eval('1+2j') 9 print(type(r2), r2) 10 11 r3 = eval('"python"') 12 print(type(r3), r3) 13 14 r4 = eval('7, 42') 15 print(type(r4), r4)

task2_2.py
1 # 组合使用内置函数eval()和input() 2 x, y = eval(input('Enter two oprands: ')) 3 ans = x + y 4 print(f'{x} + {y} = {ans}') 5 print(f'{type(x)} + {type(y)} = {type(ans)}')

总结:1.内置函数eval():把字符串转换为python表达式,相当于把圆括号中的内容,两侧引号去掉
2.input()中输入的两个操作数之间要用逗号分隔
task3.py
1 # 浮点数简单运算 2 3 ans1 = 0.1 + 0.2 4 print(f'0.1 + 0.2 = {ans1}') 5 6 import decimal 7 8 ans2 = decimal.Decimal('0.1') + decimal.Decimal('0.2') 9 print(f'0.1 + 0.2 = {ans2}')

总结:1.因为十进制异常导致结果不精确
2.decimal模块旨在支持“无偏差,精确无舍入的十进制算术(有时称为定点数算术)和有舍入的浮点数算术”。
task4.py
1 # 字符编码相关 2 # chr()返回unicode编码对应的字符 3 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码
task5_1.py
1 # 简单的数学计算 2 import math 3 4 n = float(input('输入一个数:')) 5 6 # python中计算开平方的三种方式 7 ans1 = n**0.5 8 ans2 = pow(n, 0.5) 9 ans3 = math.sqrt(n) 10 11 print('%.2f的平方根是: %.2f' %(n, ans1)) 12 print('{:.2f}的平方根是: {:.2f}'.format(n, ans2)) 13 print(f'{n:.2f}的平方根是: {ans3:.2f}')

task5_2.py
1 # 神奇的pi, 与大饼 2 3 import math 4 5 text = ''' 6 好奇心是人的天性。 7 理想情况下,学习新东西是让人愉快的事。 8 但学校里的学习似乎有点像苦役。 9 有时候,需要画一个大饼,每次尝试学一些新鲜的,才会每天变得更好一点点。 10 ''' 11 print(text) 12 13 r = float(input('给学习画一个大饼,大饼要做的很大,半径要这么大: ')) 14 15 circle = 2*math.pi*r 16 17 print(f'绕起来,大饼的圆周有这么长, {circle}, 够不够激发你探索未知的动力...')

task6.py
1 x=eval(input()) 2 y=x**365 3 print(f'{x}的365次方:{y}')

task7.py
1 import math 2 p=1.038 3 c=3.7 4 K=0.0054 5 tw=100 6 ty=70 7 t0=int(input()) 8 M=67 9 x1=M**(2/3)*c*p**(1/3) 10 x2=(0.76*(t0-tw)/(ty-tw)) 11 a=math.pi 12 x3=K*a**2*(4*a/3)**(2/3) 13 x4=math.log(x2) 14 t=x1/x3*x4 15 min=int(t//60) 16 sec=int(t-min*60+0.5) 17 print(f'T0={t0}℃,t={min}分{sec}秒')

task8_1.py
1 """ 2 家用电器销售系统 3 v1.0 4 """ 5 6 #欢迎信息 7 print('欢迎使用家用电器销售系统!') 8 9 #产品信息列表 10 print('产品和价格信息如下:') 11 print('**********************************************************') 12 print('%-10s'%'编号','%-10s'%'名称','%-10s'%'品牌','%-10s'%'价格','%-10s'%'库存数量') 13 print('-----------------------------------------------------------') 14 print('%-10s'%'0001','%-10s'%'电视机','%-10s'%'海尔','%-10.2f'%5999.00,'%10d'%20) 15 print('%-10s'%'0002','%-10s'%'冰箱','%-10s'%'西门子','%-10.2f'%6998.00,'%10d'%15) 16 print('%-10s'%'0003','%-10s'%'洗衣机','%-10s'%'小天鹅','%-10.2f'%1999.00,'%10d'%10) 17 print('%-10s'%'0004','%-10s'%'空调','%-10s'%'格力','%-10.2f'%3900.00,'%10d'%0) 18 print('%-10s'%'0005','%-10s'%'热水器','%-10s'%'美的','%-10.2f'%688.00,'%10d'%30) 19 print('%-10s'%'0006','%-10s'%'笔记本','%-10s'%'联想','%-10.2f'%5699.00,'%10d'%10) 20 print('%-10s'%'0007','%-10s'%'微波炉','%-10s'%'苏泊尔','%-10.2f'%480.50,'%10d'%33) 21 print('%-10s'%'0008','%-10s'%'投影仪','%-10s'%'松下','%-10.2f'%1250.00,'%10d'%12) 22 print('%-10s'%'0009','%-10s'%'吸尘器','%-10s'%'飞利浦','%-10.2f'%999.00,'%10d'%9) 23 print('-----------------------------------------------------------') 24 25 #用户输入信息 26 product_id=input('请输入您要购买的产品编号:') 27 price=float(input('请输入您要购买的产品价格:')) 28 count=int(input('请输入您要购买的产品数量:')) 29 30 #计算金额 31 print('购买成功,您需要支付',price*count,'元') 32 33 #退出系统 34 print('谢谢您的光临,下次再见!')

task8_2.py
1 """ 2 家用电器销售系统 3 v1.0 4 """ 5 6 #欢迎信息 7 print('欢迎使用家用电器销售系统!') 8 9 #产品信息列表 10 print('产品和价格信息如下:') 11 print('**********************************************************') 12 print('{:10}'.format('编号'),'{:10}'.format('名称'),'{:10}'.format('品牌'),'{:10}'.format('价格'),'{:10}'.format('库存数量')) 13 print('-----------------------------------------------------------') 14 print('{:10}'.format('0001'),'{:10}'.format('电视机'),'{:10}'.format('海尔'),'{:10.2f}'.format(5999.00),'{:10}'.format(20)) 15 print('{:10}'.format('0002'),'{:10}'.format('冰箱 '),'{:10}'.format('西门子'),'{:10.2f}'.format(6998.00),'{:10}'.format(15)) 16 print('{:10}'.format('0003'),'{:10}'.format('洗衣机'),'{:10}'.format('小天鹅'),'{:10.2f}'.format(1999.00),'{:10}'.format(10)) 17 print('{:10}'.format('0004'),'{:10}'.format('空调 '),'{:10}'.format('格力'),'{:10.2f}'.format(3900.00),'{:10}'.format(0)) 18 print('{:10}'.format('0005'),'{:10}'.format('热水器'),'{:10}'.format('美的'),'{:10.2f}'.format(688.00),'{:10}'.format(30)) 19 print('{:10}'.format('0006'),'{:10}'.format('笔记本'),'{:10}'.format('联想'),'{:10.2f}'.format(5699.00),'{:10}'.format(10)) 20 print('{:10}'.format('0007'),'{:10}'.format('微波炉'),'{:10}'.format('苏泊尔'),'{:10.2f}'.format(480.50),'{:10}'.format(33)) 21 print('{:10}'.format('0008'),'{:10}'.format('投影仪'),'{:10}'.format('松下'),'{:10.2f}'.format(1250.00),'{:10}'.format(12)) 22 print('{:10}'.format('0009'),'{:10}'.format('吸尘器'),'{:10}'.format('飞利浦'),'{:10.2f}'.format(999.00),'{:10}'.format(9)) 23 print('-----------------------------------------------------------') 24 25 #用户输入信息 26 product_id=input('请输入您要购买的产品编号:') 27 price=float(input('请输入您要购买的产品价格:')) 28 count=int(input('请输入您要购买的产品数量:')) 29 30 #计算金额 31 print('购买成功,您需要支付',price*count,'元') 32 33 #退出系统 34 print('谢谢您的光临,下次再见!')

task8_3.py
1 """ 2 家用电器销售系统 3 v1.0 4 """ 5 6 #欢迎信息 7 print('欢迎使用家用电器销售系统!') 8 9 #产品信息列表 10 print('产品和价格信息如下:') 11 print('**********************************************************************') 12 x=' ' 13 print(f'编号{x:10}名称{x:10}品牌{x:10}价格{x:10}库存数量{x:10}') 14 print('----------------------------------------------------------------------') 15 print(f'0001{x:10}电视机{x:10}海尔 {x:10}5999.00{x:10}20{x:10}') 16 print(f'0002{x:10}冰箱 {x:10}西门子{x:10}6998.00{x:10}15{x:10}') 17 print(f'0003{x:10}洗衣机{x:10}小天鹅{x:10}1999.00{x:10}10{x:10}') 18 print(f'0004{x:10}空调 {x:10}格力 {x:10}3900.00{x:10}0{x:10}') 19 print(f'0005{x:10}热水器{x:10}美的 {x:10}688.00 {x:10}30{x:10}') 20 print(f'0006{x:10}笔记本{x:10}联想 {x:10}5699.00{x:10}10{x:10}') 21 print(f'0007{x:10}微波炉{x:10}苏泊尔{x:10}480.50 {x:10}33{x:10}') 22 print(f'0008{x:10}投影仪{x:10}松下 {x:10}1250.00{x:10}12{x:10}') 23 print(f'0009{x:10}吸尘器{x:10}飞利浦{x:10}999.00 {x:10}9{x:10}') 24 print('--------------------------------------------------------------------') 25 26 #用户输入信息 27 product_id=input('请输入您要购买的产品编号:') 28 price=float(input('请输入您要购买的产品价格:')) 29 count=int(input('请输入您要购买的产品数量:')) 30 31 #计算金额 32 print('购买成功,您需要支付',price*count,'元') 33 34 #退出系统 35 print('谢谢您的光临,下次再见!')


浙公网安备 33010602011771号