实验任务

实验任务1

task1

实验内容:

源代码:

 1 #实验1.1
 2 #print 输出的几种用法
 3 #用法一:用于输出单个字符串或单个变量
 4 print('hey','u')
 5 
 6 #用法二:用于输出多个数据项,用逗号分隔
 7 print('hey','u')
 8 x,y,z=1,2,3
 9 print(x,y,z)
10 
11 #用法三:用户混合字符串和变量值
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)
View Code

 实验结果:

task2

实验内容:

源代码:

 1 #1.2
 2 #使用字符串的format()方法,对输出数据项进行格式化
 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'))
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'))
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'))
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))
View Code

实验结果:

 task3

实验内容:

源代码:

1 #1.3
2 #使用f-string方式输出数据并控制格式
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*'=')
View Code

实验结果:

 实验结论:print用于输出单个或多个变量值,混合字符串和变量值,格式化输出。

实验任务2

task1

实验内容:

源代码:

 1 #2.1
 2 #内置函数eval()
 3 #功能:把字符串转换成python表达式
 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)
View Code

实验结果:

task2

实验内容:

源代码:

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

实验结果:

 实验结论:把字符串转化为Python表达式

 

实验任务3

实验内容:

源代码:

1 #3
2 #浮点数简单运算
3 ans1=0.1+0.2
4 print(f'0.1+0.2={ans1}')
5 import decimal
6 ans2=decimal.Decimal('0.1')+decimal.Decimal('0.2')
7 print(f'0.1+0.2={ans2}')
View Code

实验结果:

 实验结论:计算机内部是以二进制进行存储的,因此十进制的有限位的小数在进来之后,会在计算机内部会显示是一个无限位的小数,计算机存储近似值。Decimal可用来保存具有小数点而且数值确定的数值。

 

实验任务4

实验内容:

源代码:

 1 #4
 2 #字符编码相关
 3 #chr()返回Unicode编码对应的字符
 4 print(chr(0x1f600),end=" ")
 5 print(chr(0x1f601),end=" ")
 6 print(chr(0x1f602),end=" ")
 7 print(chr(0x1f603),end=" ")
 8 print(chr(0x1f604),)
 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'))
View Code

实验结果:

实验结论:chr( {需要转换的Unicode编码} ),返回值是对应的字符,ord( {需要转换的字符} ),返回值是对应的Unicode编码。

 

实验任务5

task1

实验内容:

源代码:

 1 #5.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 print('%.2f的平方根是:%.2f'%(n,ans1)) #以传统风方式(%)输出
11 print('{:2f}的平方跟是:{:.2f}'.format(n,ans2)) #使用str。format()方式输出
12 print(f'{n:.2f}的平方根是:{ans3:.2f}') #使用f-string方式输出
View Code

实验结果:

task2

实验内容:

源代码:

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

实验结果:

 

实验任务6

实验内容:

源代码:

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

实验结果:

 

实验任务7

实验内容:

源代码:

 1 #7
 2 import math
 3 pi=math.pi
 4 e=math.e
 5 p=1.308
 6 c=3.7
 7 k=5.4*10**(-3)
 8 M=47
 9 Tw=100
10 Ty=70
11 T0=eval(input('鸡蛋初始温度:'))
12 t1=M**(2/3)*c*p**(1/3)
13 t2=k*pi**2*(4*pi/3)**2/3
14 t3=0.74*(T0-Tw)/(Ty-Tw)
15 t4=math.log(t3,e)
16 t=t1*t4/t2
17 y,x=math.modf(t/60)
18 y=round(y)
19 print(f'T0={T0}C,t={x}分{y}秒')
View Code

实验结果:

 

实验任务8

实验内容:

源代码:

#8
"""家用电器销售系统
v1.2
"""
print('欢迎使用家用电器销售系统!')
#产品信息列表
print('**********************************************')
print('%-10s'%'编号','%-10s'%'名称','%-10s'%'品牌','%-10s'%'价格','%-10s'%'库存数量')
print('---------------------------------------------------------------')
print('%-10s'%'0001','%-10s'%'电视机','%-10s'%'海尔','%10.2f'%5999.00,'%10d'%20)
print('%-10s'%'0002','%-10s'%'冰箱','%-10s'%'西门子','%10.2f'%6998.00,'%10d'%15)
print('%-10s'%'0003','%-10s'%'洗衣机','%-10s'%'小天鹅','%10.2f'%1999.00,'%10d'%10)
print('%-10s'%'0004','%-10s'%'空调','%-10s'%'格力','%10.2f'%3900.00,'%10d'%0)
print('%-10s'%'0005','%-10s'%'热水器','%-10s'%'美的','%10.2f'%688.00,'%10d'%30)
print('%-10s'%'0006','%-10s'%'笔记本','%-10s'%'联想','%10.2f'%5699.00,'%10d'%10)
print('%-10s'%'0007','%-10s'%'微波炉','%-10s'%'苏泊尔','%10.2f'%480.50,'%10d'%33)
print('%-10s'%'0008','%-10s'%'投影仪','%-10s'%'松下','%10.2f'%1250.00,'%10d'%12)
print('%-10s'%'0009','%-10s'%'吸尘器','%-10s'%'飞利浦','%10.2f'%999.00,'%10d'%9)
print('---------------------------------------------------------------')
#商品数据
products=[
   ['0001','电视机','海尔',5999.00,20],
   ['0002','冰箱','西门子',6998.00,15],
   ['0003','洗衣机','小天鹅',1999.00,10],
   ['0004','空调','格力',3900.00,0],
   ['0005','热水器','美的',688.00,30],
   ['0006','笔记本','联想',5699.00,10],
   ['0007','微波炉','苏泊尔',480.00,33],
   ['0008','投影仪','松下',1250.00,12],
   ['0009','吸尘器','飞利浦',999.00,9],
]
#用户输入信息
product_id=input('请输入您要购买的产品编号:')
#编号合法性判断
if product_id not in [item[0] for item in products]:
    print('编号不存在,系统退出...')
    exit(0)
count=int(input('请输入您要购买的产品数量:'))
#获取编号对应商品的信息
product_index=int(product_id)-1
product=products[product_index]
#数量有效性判断
if count>product[4]:
    print('数量超出库存,系统退出...')
    exit(0)
#计算金额
amount=product[3]*count
if 5000<amount<=10000:
    amount=amount*0.95
elif 10000<amount<=20000:
    amount=amount*0.90
elif amount>20000:
    amount=amount*0.85
print('购买成功,您需要支付%8.2f元'%amount)
#退出系统
print('谢谢您的光临,下次再见!')
View Code

实验结果:

 

posted on 2023-03-14 13:59  守风的人  阅读(84)  评论(0)    收藏  举报