实验1 python开发环境使用和编程初体验

实验任务1

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))
11 print('x = {}, y = {}, z = {}'.format(x,y,z))
12 print(f'x = {x}, y = {y}, z = {z}')
13 
14 #其它:输出后是否换行
15 print(x)
16 print(y)
17 print(z)
18 
19 print(x, end=' ')
20 print(y, end=' ')
21 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}控制小数输出精度,保留1位小数
14 print('x2 = {:.1f}, y2 = {:.1f}'.format(x2, y2))
15 # 输出3
16 print('{:-^40}'.format('输出3'))  # {:-^40}控制输出数据格式:宽度占40列,居中对齐,空白处用-补齐
17 print('x1 = {:<15.1f}, y1 = {:<15.1f}'.format(x1, y1))  #{:<15.1f}宽度占15列,小数部分占1列,左对齐,空白处默认补空格
18 print('x2 = {:<15.1f}, y2 = {:<15.1f}'.format(x2, y2))
19 
20 # 输出4
21 print('{:-^40}'.format('输出4'))  # {:-^40}控制输出数据格式:宽度占40列,居中对齐,空白处用-补齐
22 print('x1 = {:>15.1f}, y1 = {:>15.1f}'.format(x1, y1))  #{:>15.1f}宽度占15列,小数部分占一列,右对齐,空白处默认补空格
23 print('x2 = {:>15.1f}, y2 = {:>15.1f}'.format(x2, y2))

运行测试截图

 

task1.3

实验源码

# 使用f-string方式输出数据并控制格式

name1, age1 = 'Bill', 19
name2, age2 = 'Lucy', 18
title = 'Personnal Information'

print(f'{title:=^40}')  #输出title的值,=^40指定输出宽度占40列,居中对齐,用=填充空白
print(f'name:{name1:10} age:{age1:3}')  # 10和3分别指定输出宽度
print(f'name:{name2:10} age:{age2:3}')
print(40*'=')

运行测试截图

实验结论:print输出常用用法:传统c风格,s.format, f-string三种控制格式。(f-string大括号里面输入字符要双引号)

 

实验任务2

task2.1

实验源码

 1 # 内置函数eval()
 2 # 功能:把字符串转换为python表达式
 3 # 理解:相当于把圆括号中的内容,两侧引号去掉
 4 
 5 r1 = eval('1 + 2')  # 相当于r1 = 1 + 2
 6 print(type(r1), r1)
 7 
 8 r2 = eval('1+2j')  #相当于r2 = 1+2j
 9 print(type(r2), r2)
10 
11 r3 = eval('"python"')  # 相当于r3 = "python"
12 print(type(r3), r3)
13 
14 r4 = eval('7, 42')  # 相当于r4 = 7, 42
15 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()相当于去掉字符串的引号并作运算

 

实验任务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}')

运行测试截图

实验结论:像1.1与1.2之类的数字在二进制浮点中没有精确的表示,使用二进制浮点运算1.1+1.2显示为3.3000000000000003。而decimal使用十进制浮点,结果更精确。

 

实验任务4

 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 
14 # ord()返回字符的unicode编码
15 print(ord('a'), end = " ")
16 print(ord('b'), end = " ")
17 print(ord('c'))
18 
19 print(ord('A'), end = " ")
20 print(ord('B'), end = " ")
21 print(ord('C'))
22 
23 print(ord('0'), end = " ")
24 print(ord('1'), end = " ")
25 print(ord('2'))

运行测试截图

实验结论:chr()把编码对应字符,ord()把字符对应编码。

 

实验任务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

实验源码

1 x = eval(input('输入x的值:'))
2 y = pow(x, 365)
3 print(f'{x}的365次方:{y}')

运行测试截图

 

实验任务7

实验源码

 1 # 煮出完美鸡蛋
 2 '''设Tw = 100℃,Ty= 70℃,分别计算:
 3 从冰箱(T0 = 4℃)取得大鸡蛋,计算煮出完美的鸡蛋所需时间
 4 从室温(T0 = 20℃)取得大鸡蛋,计算煮出完美的鸡蛋所需时间'''
 5 
 6 T0 = eval(input('输入T0:'))
 7 ρ = 1.038
 8 c = 3.7
 9 K = 5.4*(10**(-3))
10 M = 67
11 Tw = 100
12 Ty = 70
13 import math
14 
15 t = M**(2/3) * c * (ρ**(1/3)) * (math.log(math.e, 0.76*(T0-Tw) / (Ty-Tw))) / (K*((math.pi)**2 * (4*(math.pi)/3)**(2/3)))
16 minutes = int(t / 60)
17 seconds = int(t-minutes*60 + 0.5)
18 print(f'T0={T0}℃, t={minutes}分{seconds}秒')

运行测试截图

 

实验任务8

task8.1

实验源码

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

运行测试截图

 

task8.2

实验源码

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

运行测试截图

 

task8.3

实验源码

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

运行测试截图

 

posted @ 2023-03-14 20:22  谢幸育  阅读(55)  评论(0)    收藏  举报