实验一 #python的上手测试

实验任务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}') #方式3f-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

#使用字符串的format()方法,对输出数据项进行格式化

x1,y1 = 1.2, 3.57
x2,y2 = 2.26, 8.7

#输出1
print('{:-^40}'.format('输出1'))  #{:-^40}控制输出数据格式:宽度占40列,居中对齐空白处用-补齐
print('x1 = {}, y1 = {}'.format(x1, y1))
print('x2 = {}, y2 = {}'.format(x2, y2))

#输出2
print('{:-^40}'.format('输出2'))
print('x1 = {:.1f}, y1 = {:.1f}'.format(x1, y1)) #{:.1f}控制小数输出精度,保留一位
print('x2 = {:.1f}, y2 = {:.1f}'.format(x2, y2))

#输出3
print('{:-^40}'.format('输出3'))
print('x1 = {:<15.1f}, y1 = {:<15.1f}'.format(x1, y1)) #控制宽度占15列,小数部分占1列,左对齐,空白处默认补空格
print('x2 = {:<15.1f}, y2 = {:<15.1f}'.format(x2, y2))

#输出4
print('{:-^40}'.format('输出4'))
print('x1 = {:<15.1f}, y1 = {:<15.1f}'.format(x1, y1)) #控制宽度占15列,小数部分占1列,右对齐,空白处默认补空格
print('x1 = {:>15.1f}, y1 = {:>15.1f}'.format(x1, y1))
print('x2 = {:>15.1f}, y2 = {:>15.1f}'.format(x1, y1))

运行结果

 

task1_3

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


name1, age1 = 'Bill', 19
name2, age2 = 'Hellen', 18
title = 'Personnel Information'

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

运行结果

 

总结:

输出的三种格式1.('x = %d' %x)   2.('{x}'.format(x))  3.(f'x = {x}')

换行与不换行:换行:print(x)                 不换行:print(x, end = '*')

                                    print(y)                                print(y)

输出的要求:顺序:(空白用什么代替,向左/向右/居中对齐,输出的宽度,小数点后保留多少位)

 

实验任务2

task2_1

#内置函数eval
#功能:把字符串转换为python的表达式
#理解:相当于吧圆括号中的内容两侧引号去掉(用于数字类型的分配)


r1 = eval('1,2')   #相当于r1 = 1+2
print(type(r1),r1)

r2 = eval('1+2j')
print(type(r2),r2)

r3 = eval('"python"')
print(type(r3),r3)

r4 = eval('7,42')
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的应用:用于删去圆括号中引号(用于数字类型的分配)

eg:x, y = eval(input())

        x, y = eval('1, 2')

 

实验任务3

task3_1

# 浮点数简单运算
ans1 = 0.1 + 0.2
print(f'0.1 + 0.2 = {ans1}')
import decimal
ans2 = decimal.Decimal('0.1') + decimal.Decimal('0.2')
print(f'0.1 + 0.2 = {ans2}')

运行结果

总结:

问题一:为啥第一种运算会存在误差:计算式是二进制存储和运算程序,它无法准确的表示一些数(如:0.1,0.2等),它只能尽力准确的表示,所以存在误差。

问题二:decimal模块中的Decimal()是如何进行浮点数运算的?:decimal表示十进制,它提供一种一种十进制浮点数的表示方法,可以在计算机中进行十进制的运算。

实验4

task4

 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(0x10604))
 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码对应的字符(Unicode码用16进制编写,故前面有ox)

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))
13 print(f'{n:1f}的平方根是{ans3:.2f}')

运行结果

 

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 #计算一个数365次方
2 
3 x = float(input('输入一个数字:'))
4 y = x**356
5 
6 print(f'{x}的365次方:{y:.2f}')

运行结果

 

 

实验7

task7

 1 #煮出完美的鸡蛋
 2 p, c, K = eval('1.038, 3.7, 0.0054')
 3 M, m, Tw = eval('47, 67, 100')
 4 Ty = int('70')
 5 T0 = float(input('输入一个初始温度值:'))
 6 
 7 import math
 8 pi = math.pi
 9 t1 = (M**(2/3))*c*(p**(1/3))
10 t2 = (K*(pi**2)*(((4*pi)/3)**(2/3)))
11 t3 = ((T0-Tw)/(Ty-Tw))*0.76
12 t4 = math.log(t3)
13 
14 t = (t1/t2)*t4
15 ta = t//60
16 tb = int(t - ta*60 +0.5)
17 print(f'T0 = {T0}℃, t = {ta}分{tb}秒')

运行结果

 

 

实验8

task8_1

 1 """
 2 家用电器销售系统
 3 v1.0
 4 """
 5 #欢迎信息
 6 print('欢迎使用家用电器销售网络!')
 7 
 8 #产品信息列表
 9 print('产品和价格信息如下:')
10 print('*'*60)
11 print('%-10s'%'编号', '%-10s'%'名称', '%-10s'%'品牌', '%-10s'%'价格', '%-10s'%'库存数量')
12 print('-'*60)
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('-'*60)
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 print('欢迎使用家用电器销售网络!')
 7 
 8 #产品信息列表
 9 print('产品和价格信息如下:')
10 print('*'*60)
11 print('%-10s'%'编号', '%-10s'%'名称', '%-10s'%'品牌', '%-10s'%'价格', '%-10s'%'库存数量')
12 print('-'*60)
13 print('{:<10}{:<10}{:<10}{:<10}{:>10}'.format('0001','电视机','海尔','5999.00','20'))
14 print('{:<10}{:<10}{:<10}{:<10}{:>10}'.format('0002','冰箱','西门子','6998.00','15'))
15 print('{:<10}{:<10}{:<10}{:<10}{:>10}'.format('0003','洗衣机','小天鹅','1999.00','10'))
16 print('{:<10}{:<10}{:<10}{:<10}{:>10}'.format('0004','空调','格力','3900.00','0'))
17 print('{:<10}{:<10}{:<10}{:<10}{:>10}'.format('0005','热水器','美的','688.00','30'))
18 print('{:<10}{:<10}{:<10}{:<10}{:>10}'.format('0006','笔记本','联想','5699.00','10'))
19 print('{:<10}{:<10}{:<10}{:<10}{:>10}'.format('0007','微波炉','苏泊尔','480.00','33'))
20 print('{:<10}{:<10}{:<10}{:<10}{:>10}'.format('0008','投影仪','松下','1250.00','12'))
21 print('{:<10}{:<10}{:<10}{:<10}{:>10}'.format('0009','吸尘器','飞利浦','999.00','9'))
22 print('-'*60)
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_3

 1 """
 2 家用电器销售系统
 3 v1.0
 4 """
 5 #欢迎信息
 6 print('欢迎使用家用电器销售网络!')
 7 
 8 #产品信息列表
 9 print('产品和价格信息如下:')
10 print('*'*60)
11 print('%-10s'%'编号', '%-10s'%'名称', '%-10s'%'品牌', '%-10s'%'价格', '%-10s'%'库存数量')
12 print('-'*60)
13 a1,a2,a3,a4,a5 = '0001','电视机','海尔','5999.00','20'
14 b1,b2,b3,b4,b5 = '0002','冰箱','西门子','6998.00','15'
15 c1,c2,c3,c4,c5 = '0003','洗衣机','小天鹅','1999.00','10'
16 d1,d2,d3,d4,d5 = '0004','空调','格力','3900.00','0'
17 e1,e2,e3,e4,e5 = '0005','热水器','美的','688.00','30'
18 f1,f2,f3,f4,f5 = '0006','笔记本','联想','5699.00','10'
19 g1,g2,g3,g4,g5 = '0007','微波炉','苏泊尔','480.00','33'
20 h1,h2,h3,h4,h5 = '0008','投影仪','松下','1250.00','12'
21 i1,i2,i3,i4,i5 = '0009','吸尘器','飞利浦','999.00','9'
22 print(f'{a1:<10}{a2:<10}{a3:<10}{a4:<10}{a5:>10}')
23 print(f'{b1:<10}{b2:<10}{b3:<10}{b4:<10}{b5:>10}')
24 print(f'{c1:<10}{c2:<10}{c3:<10}{c4:<10}{c5:>10}')
25 print(f'{d1:<10}{d2:<10}{d3:<10}{d4:<10}{d5:>10}')
26 print(f'{e1:<10}{e2:<10}{e3:<10}{e4:<10}{e5:>10}')
27 print(f'{f1:<10}{f2:<10}{f3:<10}{f4:<10}{f5:>10}')
28 print(f'{g1:<10}{g2:<10}{g3:<10}{g4:<10}{g5:>10}')
29 print(f'{h1:<10}{h2:<10}{h3:<10}{h4:<10}{h5:>10}')
30 print(f'{i1:<10}{i2:<10}{i3:<10}{i4:<10}{i5:>10}')
31 print('-'*60)
32 
33 #用户输入信息
34 product_id = input('请输入你购买产品的序号:')
35 price = float(input('请输入你要购买的产品价格:'))
36 count = int(input('请输入你要购买的产品数量'))
37 
38 #计算金额
39 print('购买成功,你需要支付',price*count,'')
40 
41 #退出系统
42 print('谢谢你的光临,下次再见!')

运行结果:

 

posted @ 2023-03-13 22:20  柠七拧巴  阅读(68)  评论(0)    收藏  举报