实验1 Python开发环境使用和编程初体验
实验结论:
实验任务1:print()的不同用法及丰富的格式控制方式
task1_1 使用三种方式实现数据的默认输出
1 # 用法1:用于输出单个字符串或单个变量 2 print('hey,u') 3 4 # 用法2:用于输出多个数据项,用逗号分割 5 print('hey','u') 6 x,y,z, = 1,2,3 7 print(x,y,z) 8 9 # 用法3: 用户混合字符串和变量值 10 print('x = %d,y = %d,z = %d' %(x,y,z)) #方式1:传统c风格 11 print('x = {},y = {},z = {}'.format(x,y,z)) # 方式2:s.format()方法 12 print(f'x ={x},y = {y},z = {z}') #方式3:f-string方式 13 14 # 其他:输出后是否换行 15 print(x) # 默认输出后换一行 16 print(y) 17 print(z) 18 19 print(x,end=' ') # 输出结束后,不换行:通过end指定数据项之间的分隔符 20 print(y,end=' ') 21 print(z)
实验结果如图:

task1_2 使用str.format()方法
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')) # {:-^40}控制输出数据格式:宽度占40列,居中对齐,空白处用-补齐 8 print('x1 = {},y1 = {}'.format(x1,y1)) 9 print('x2 = {},y2 = {}'.format(x2,y2)) 10 11 # 输出2 12 print('{:-^40}'.format('输出2')) # {:-^40}控制输出数据格式:宽度占40列,居中对齐,空白处用-补齐 13 print('x1 = {:.1f},y1 = {:.1f}'.format(x1,y1)) # {:.1f}控制小数输出精度,保留1位小数 14 print('x2 = {:.1f},y2 = {:.1f}'.format(x2,y2)) 15 16 # 输出3 17 print('{:-^40}'.format('输出3')) # {:-^40}控制输出数据格式:宽度占40列,居中对齐,空白处用-补齐 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')) # {:-^40}控制输出数据格式:宽度占40列,居中对齐,空白处用-补齐 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))
实验结果如图:

task1_3 f-string方式
1 name1,age1 = 'Tom',19 2 name2,age2 = 'Jerry',18 3 title = 'Personal Information' 4 5 print(f'{title:=^40}') #输出title的值,=^40指定输出宽度占40列,居中对齐,用=填充空白 6 print(f'name: {name1:10} age: {age1:3}') # 10和3分别指定数据项输出宽度 7 print(f'name: {name2:10} age: {age2:3}') 8 print(40*'=')
实验结果如图:

实验任务2: 内置函数eval(),input()
task2_1
1 r1 = eval('1 + 2') # 相当于r1 = 1 + 2 2 print(type(r1),r1) 3 4 r2 = eval('1+2j') # 相当于r2 = 1+2j 5 print(type(r2),r2) 6 7 r3 = eval('"python"') # 相当于r3 = "python" 8 8 print(type(r3),r3) 9 10 r4 = eval('7,42') # 相当于r4 = 7, 42 11 print(type(r4),r4)
实验结果如图:
task2_2
1 x, y = eval(input('Enter two oprands: ')) # 输入的两个操作数之间用逗号分隔(英文半角输入法下的逗号) 2 ans = x + y 3 4 print(f'{x} + {y} = {ans}') 5 print(f'{type(x)} + {type(y)} = {type(ans)}')
实验结果如图:
实验任务3:
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}')
实验结果如图:

实验任务4:了解unicode编码,内置函数chr(),ord()
1 # chr()返回unicode编码对应的字符 2 3 print(chr(0x1f600), end = " ") 4 print(chr(0x1f601), end = " ") 5 print(chr(0x1f602), end = " ") 6 print(chr(0x1f603), end = " ") 7 print(chr(0x1f604)) 8 9 print(chr(10000), end=" ") 10 print(chr(0x025b), end=" ") 11 print(chr(0x2708), end=" ") 12 print(chr(0x00A5), end=" ") 13 print(chr(0x266b)) 14 15 # ord()返回字符的unicode编码 16 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'))
实验结果如图:

实验任务5:
task5_1
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 11 print('%.2f的平方根是: %.2f' %(n, ans1)) # 以传统风方式(%)输出 12 print('{:.2f}的平方根是: {:.2f}'.format(n, ans2)) # 使用str.format()方式输出 13 print(f'{n:.2f}的平方根是: {ans3:.2f}') # 使用f-string方式输出
实验结果如图:

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

实验任务6:
1 x1,x2,x3 = eval(input('输入自变量x:')) 2 y1 = x1 ** 365 3 y2 = x2 ** 365 4 y3 = x3 ** 365 5 print(f'x 的365次方:{y1},{y2},{y3}')
实验结果如图:

实验任务7:
1 from math import pi 2 T0 = eval(input('输入T0:')) 3 rou = 1.038 4 c = 3.7 5 K = 5.4*10**(-3) 6 m = 47 7 M = 67 8 Tw = 100 9 Ty = 70 10 import math 11 tM = (pow(M,2/3) * c * pow(rou,1/3))/(K * pi ** 2 * pow(4 * pi / 3,2/3)) * math.log(0.76 * (T0 - Tw) / (Ty - Tw),math.e) 12 fen = int(tM // 60) 13 miao = round(tM % 60) 14 print(f'T0 = {T0}℃,t = {fen}分{miao}秒')
运行结果如图:

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

实验总结:
1.print()用于输出的几种常用用法:
(1)' ' 或" "输出字符串
(2)多个数据项用,分隔
(3)混合字符串和变量值
(4)str.format()控制宽度、精度、对齐方式等
(5)f-string实现数据输出和格式控制
2.eval()函数用法:
(1)将字符转化为python表达式
(2)实现对多个变量输入赋值(输入的操作数用,隔开)
(3)对每一项分别运算
3.浮点数运算
(1)因为浮点数在计算机中是以近似值表示任意某个实数,是不精确的
(2)decimal类型的数据存储形式是,将每9位十进制数存储为4个字节
4.chr()函数与ord()函数的用法
chr()函数返回值是当前整数对应的ascii字符,ord()函数返回对应字符的ascii码
5.注释
(1)''' '''多行
(2)# 单行
通过本次实验,我学习了print()输出的常用方法以及如何进行格式化输出;学习了eval()函数的用法
,以及与input()组合进行多个变量的处理;更进一步的认识到浮点数在计算机内的表示是不精确的,以及
知道了可以用decimal来精确表达数据;学习了chr()和ord()的的功能;运用数学函数进行简单的数学计算
这次实验让我意识到python是一门需要经常实践的内容。虽然课上知识点一般都能听懂,但实际操作
起来并没有想象中那么得心应手。需要长时间的联系以及刻意的去记忆。另外还需要了解更多计算机的知
识,比如unicode编码,python内置函数的了解。

浙公网安备 33010602011771号