实验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内置函数的了解。

 

posted @ 2023-03-07 23:15  咖啡店的茅羽耶  阅读(115)  评论(1)    收藏  举报