首页 > 编程语言 >实验一 Python软件开发环境使用和编程初体验

实验一 Python软件开发环境使用和编程初体验

时间:2023-03-13 23:56:40浏览次数:40  
标签:%- 10 初体验 end 软件开发 format Python print 10s

实验任务1

task1_1源代码:

 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))  # 方式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)

运行结果:

 

task1_2源代码:

 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}控制小数输出精度,保留一位小数
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('输出4'))  # {:-^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源代码:

1 # 使用f-string方式输出数据并控制格式
2 
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用法:

用法1:用于输出单个字符串或单个变量
用法2: 用于输出多个数据项,用逗号分隔
用法3: 用户混合字符串和变量值

 

实验任务2:

task2_1源代码:

 1 # 内置函数eval()
 2 # 功能:把字符串转换为python表达式
 3 # 理解:相当于把圆括号中的内容,两侧引号去掉
 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_2源代码:

1 # 组合使用内置函数eval()和input()
2 
3 x, y = eval(input('Enter two oprands: ')) # 输入的两个操作数之间用逗号分隔(英文半角输入法下的逗号)
4 ans = x + y
5 
6 print(f'{x} + {y} = {ans}')
7 print(f'{type(x)} + {type(y)} = {type(ans)}')

运行结果:

总结:eval()

把字符串转换为python表达式,相当于把圆括号中的内容,两侧引号去掉

 

实验任务3:

task3源代码:

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:

因为计算机以二进制方式存储数据,对于小数的运算有天然的缺陷,计算机只能以极大限度的进行近似取值。
Python中,小数加减法出现的精度问题非常常见,一般使用decimal模块进行处理,因为decimal.Decimal是基于字符串进行处理的,所以在使用时一定注意前期转换为字符串,后期转换会对应的浮点类型。

 

实验任务4:

task4源代码:

 1 # 字符编码相关
 2 # chr()返回unicode编码对应的字符
 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 print(chr(10000), end=" ")
 9 print(chr(0x025b), end=" ")
10 print(chr(0x2708), end=" ")
11 print(chr(0x00A5), end=" ")
12 print(chr(0x266b))
13 # ord()返回字符的unicode编码
14 print(ord('a'), end=" ")
15 print(ord('b'), end=" ")
16 print(ord('c'))
17 print(ord('A'), end=" ")
18 print(ord('B'), end=" ")
19 print(ord('C'))
20 print(ord('0'), end=" ")
21 print(ord('1'), end=" ")
22 print(ord('2'))

运行结果:

总结:

chr()返回unicode编码对应的字符

ord()返回字符的unicode编码

 

 

实验任务5:

task5_1源代码:

 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))  # 使用str.format()方式输出
13 print(f'{n:.2f}的平方根是: {ans3:.2f}')  # 使用f-string方式输出

运行结果:

task5_2源代码:

 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}, 够不够激发你探索未知的动力...')

运行结果:

 

实验任务6:

task6源代码:

1 import math
2 
3 x = eval(input('Enter a number:'))
4 y = x ** 365
5 
6 print(f'{x}的365次方:{y}')

运行结果:

 

实验任务7:

task7源代码:

 1 import math
 2 ρ = 1.038
 3 c = 3.7
 4 K = 5.4 * 10 ** (-3)
 5 M = 67
 6 Tw = 100
 7 Ty = 70
 8 
 9 T0 = int(input('输入放入水之前蛋的原始温度:'))
10 
11 t0 = ((M ** (2/3) * c * ρ ** (1/3)) / (K * (math.pi) ** 2 * (4 * math.pi / 3) ** (2/3))) * math.log(math.e, 0.76 * (T0 - Tw) / (Ty - Tw))
12 t1 = int(t0 // 60)
13 t2 = int(t0 % 60 + 0.5)
14 print(f'T0 = {T0}℃, t = {t1}分{t2}秒')

运行结果:

 

实验任务8:

task8_1源代码:

 1 """
 2 家用电器销售系统
 3 v1.0
 4 """
 5 
 6 # 欢迎信息
 7 print('欢迎使用家用电器销售系统!')
 8 # 产品信息列表
 9 print('产品和价格信息如下:')
10 print('*' * 58)
11 print('%-10s' % '编号', '%-10s' % '名称', '%-10s' % '品牌', '%-10s' % '价格', '%-10s' % '库存数量')
12 print('-' * 58)
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.00, '%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('-' * 58)
23 
24 
25 
26 # 用户输人信息
27 product_id = input('请输入您要购买的产品编号:')
28 price = float(input('请输入您要购买的产品价格:'))
29 count = int(input('请输入您要购买的产品数量:'))
30 
31 # 计算金额
32 print('购买成功,您需要支付', price * count, '元')
33 # 退出系统
34 print("谢谢您的光临,下次再见!")

运行结果:

task8_2源代码:

 1 """
 2 家用电器销售系统
 3 v1.0
 4 """
 5 
 6 # 欢迎信息
 7 print('欢迎使用家用电器销售系统!')
 8 # 产品信息列表
 9 print('产品和价格信息如下:')
10 print('*' * 58)
11 print('%-10s' % '编号', '%-10s' % '名称', '%-10s' % '品牌', '%-10s' % '价格', '%-10s' % '库存数量')
12 print('-' * 58)
13 print('{:<10}'.format('编号'), '{:<10}'.format('名称'), '{:<10}'.format('品牌'), '{:<10}'.format('价格'), '{:<10}'.format('库存数量'))
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 
27 # 用户输人信息
28 product_id = input('请输入您要购买的产品编号:')
29 price = float(input('请输入您要购买的产品价格:'))
30 count = int(input('请输入您要购买的产品数量:'))
31 
32 # 计算金额
33 print('购买成功,您需要支付', price * count, '元')
34 # 退出系统
35 print("谢谢您的光临,下次再见!")

运行结果:

task8_3:

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

运行结果:

 

标签:%-,10,初体验,end,软件开发,format,Python,print,10s
From: https://www.cnblogs.com/Hj-soo320/p/17213405.html

相关文章