实验1

源代码:

 1 #实验1
 2 
 3 #task1_1.py
 4 
 5 #print输出的几种方法
 6 #用法1输出单个字符串或单个变量
 7 print('hey,u')
 8 
 9 #用法2:用于输出多个数据项,用逗号分隔
10 print('hey','u')
11 x,y,z = 1,2,3
12 print(x,y,z)
13 
14 #用法3:用户混合字符串和变量值
15 print('x = %d, y = %d, z = %d'%(x,y,z))
16 print ('x = {}, y = {}, z = {}'.format(x,y,z))
17 print(f'x = {x}, y = {y}, z = {z}')
18 
19 #其他:输出后是否换行
20 print(x)   #默认输出后换一行
21 print(y)
22 print(z)
23 
24 print(x,end=' ')   #不换行
25 print(y,end=' ')
26 print(z,end=' ')

 

运行结果截图:

 

 

源代码:

 

#task1_2.py
#使用字符串的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')) #{:-^40}控制输出数据格式:宽度占40列,居中对齐,空白处用-补齐
print('x1={:.1f},y1={:.1f}'.format(x1,y1))#{:.1f}控制小数输出精度,保留1位小数
print('x2={:.1f},y2={:.1f}'.format(x2,y2))

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

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

 

运行结果截图

 

源代码:

task1_3.py

实验代码:

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

print(f'{title:=^40}')
print(f'name: {name1:10} age: {age1:3}')
print(f'name: {name2:10} age: {age2:3}')
print(40*'=')

运行结果截图:

实验总结:

实验总结:print()用于输出的几种常用用法

1.用于输出单个字符串或单个变量

2.用于输出多个数据项,用逗号分隔

3.用户混合字符串和变量值

4.输出后是否换行

 

实验二

源代码

#task2_1.py


r1 = eval('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 
7 print(f'{x}+{y} = {ans}')
8 print(f'{type(x)} + {type(y)} = {type(ans)}')

实验总结:eval()函数的用法:把字符串转换为python表达式,可以直接计算出结果

实验三

源代码

#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}')

结果截屏

实验总结:

 为什么line4中存在误差:因为输入的数要先转换为二进制下的数后电脑才能运算,转换时会存在误差。

decimal模块中Decimal是如何进行运算的:十进制浮点运算

实验四

源代码:

#task4
#字符编码相关
#chr()返回unicode编码对应的字符

print(chr(0x1f600), end = " ")
print(chr(0x1f601), end = " ")
print(chr(0x1f602), end = " ")
print(chr(0x1f603), end = " ")
print(chr(0x1f604))

print(chr(10000), end=" ")
print(chr(0x025b), end = " ")
print(chr(0x2708), end = " ")
print(chr(0x00A5), end = " ")
print(chr(0x266b))

#ord()返回字符的unicode编码
print(ord('a'), end = " ")
print(ord('b'), end = " ")
print(ord('c'))

print(ord('A'), end = " ")
print(ord('B'), end = " ")
print(ord('C'))

print(ord('0'), end = " ")
print(ord('1'), end = " ")
print(ord('2'))

实验结果

实验总结

chr()用法:将编码转换为字符

ord()用法:将字符转换为编码

实验五

源代码

#task5.1
#简单的数学计算
import math

n = float(input('输入一个数:'))

#python中计算开平方的三种方式
ans1 = n**0.5
ans2 = pow(n, 0.5)
ans3 = math.sqrt(n)

print('%.2f的平方根是:%.2f' %(n, ans1))
print('{:.2f}的平方根是:{:.2f}'.format(n, ans2))
print(f'{n:.2f}的平方根是:{ans3:.2f}')

实验结果

源代码

#task5.2
#神奇的pi,与大饼

import math

text = '''
      好奇心是人的天性。
      理想情况下,学习新东西是让人愉快的事。
      但学校里的学习似乎有点像苦役。
      有时候,需要画一个大饼,每次尝试学一些新鲜的,才会每天变得更好一点点。
      '''
print(text)

r=float(input('给学习画一个大饼,大饼要做的很大,半径要这个大:'))

circle = 2*math.pi*r

print(f'绕起来,大饼的圆周有这么长,{circle},够不够激发你探索未知的动力...')

实验结果

实验六

源代码

#task6
#计算y = x的365次方
1 x = eval(input())
2 y = pow(x, 365)
3 print(f'{x:.2f}的365次方:{y:.2f}')

实验结果:

实验七

源代码

#task7
T0=eval(input())
p,c,k = 1.038,3.7,5.4*10**(-3)
M_small,M_big = 47,67   #M是质量,p是密度,c是比热容,k是热导率
Tw = 100 #Tw是水沸腾的温度(以℃计)
Ty = 70  #Ty是放入水中之前的原始温度(以℃计)
import math
a=M_big **(2/3)*c*p**(1/3)
b=k*((math.pi)**2)*(4*(math.pi)/3)**(2/3)
c=math.log(0.76*(T0-Tw)/(Ty-Tw))
t= a/b*c
minute = int(t // 60)
second = round(t % 60)
print('T0={}℃,t={}分{}秒'.format(T0,minute,second))

实验结果

实验八

源代码

#task8.1
"""n
家用电器销售系统
v1.0
"""

# 欢迎信息
print('欢迎使用家用电器销售系统!')

# 产品信息列表
print('产品和价格信息如下:')
print('*********************************************************')
print('%-10s'%'编号','%-10s'%'名称','%-10s'%'品牌','%-10s'%'价格','%-10s'%'库存数量')
print('-'*60)
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('-'*60)

# 用户输入信息
product_id = input('请输入您要购买的产品编号:')
price = float(input('请输入您要购买的产品价格:'))
count = int(input('请输入您要购买的产品数量:'))

# 计算金额
print('购买成功,您需要支付',price*count,'')

# 退出系统
print('谢谢您的光临,下次再见!')

实验结果

源代码

#task8.2
# 欢迎信息
print('欢迎使用家电销售系统!')

# 产品信息列表
print('产品和价格信息如下:')
print('************************************************************')
print('{:10s}{:10s}{:10s}{:10s}{:10s}'.format('编号', '名称', '品牌', '价格', '库存数量'))
print('____________________________________________________________')
print('{:10s}{:10s}{:10s}{:10.2f}{:10}'.format('0001', '电视机', '海尔', 5999.00, 20))
print('{:10s}{:10s}{:10s}{:10.2f}{:10}'.format('0002', '冰箱', '西门子', 6998.00, 15))
print('{:10s}{:10s}{:10s}{:10.2f}{:10}'.format('0003', '洗衣机', '小天鹅', 1999.00, 10))
print('{:10s}{:10s}{:10s}{:10.2f}{:10}'.format('0004', '空调', '格力', 3900.00, 0))
print('{:10s}{:10s}{:10s}{:10.2f}{:10}'.format('0005', '热水器', '美的', 688.00, 30))
print('{:10s}{:10s}{:10s}{:10.2f}{:10}'.format('0006', '笔记本', '联想', 5699.00, 10))
print('{:10s}{:10s}{:10s}{:10.2f}{:10}'.format('0007', '微波炉', '苏泊尔', 480.00, 33))
print('{:10s}{:10s}{:10s}{:10.2f}{:10}'.format('0008', '投影仪', '松下', 1250.00, 12))
print('{:10s}{:10s}{:10s}{:10.2f}{:10}'.format('0009', '吸尘器', '飞利浦', 999.00, 9))
print('____________________________________________________________')

# 用户输入信息
product_id = input('请输入您要购买的产品编号:')
price = float(input('请输入您要购买的产品价格:'))
count = int(input('请输入您要购买的产品数量:'))

# 计算金额
print('购买成功,您需要支付', price * count, '')

# 退出系统
print('感谢您的光临,下次再见!')

 

源代码

#task8.3
'''
家用电器销售系统
v1.0
'''
#欢迎信息
print('欢迎使用家用电器销售系统!')

#产品信息列表
print('产品和价格信息如下:')
print('********************************************************')
print('%-10s'%'编号','%-10s'%'名称','%-10s'%'品牌','%-10s'%'价格','%-10s'%'库存数量')
print('------------------------------------------------------------------------')
print('%-10s'%'0001','%-10s'%'电视机','%-10s'%'海尔','%-10s'%'5999.00','%-10s'%'20')
print('%-10s'%'0002','%-10s'%'冰箱','%-10s'%'西门子','%-10s'%'6998.00','%-10s'%'15')
print('%-10s'%'0003','%-10s'%'洗衣机','%-10s'%'小天鹅','%-10s'%'1999.00','%-10s'%'10')
print('%-10s'%'0004','%-10s'%'空调','%-10s'%'格力','%-10s'%'3900.00','%-10s'%'0')
print('%-10s'%'0005','%-10s'%'热水器','%-10s'%'美的','%-10s'%'688.00','%-10s'%'30')
print('%-10s'%'0006','%-10s'%'笔记本','%-10s'%'联想','%-10s'%'5699.00','%-10s'%'10')
print('%-10s'%'0007','%-10s'%'微波炉','%-10s'%'苏泊尔','%-10s'%'480.50','%-10s'%'33')
print('%-10s'%'0008','%-10s'%'投影仪','%-10s'%'松下','%-10s'%'1250.00','%-10s'%'12')
print('%-10s'%'0009','%-10s'%'吸尘器','%-10s'%'飞利浦','%-10s'%'999.00','%-10s'%'9')
print('------------------------------------------------------------------------')

#用户输入信息
product_id=input('请输入您要购买的产品编号:')
price=float(input('请输入您要购买的产品价格:'))
count=int(input('请输入您要购买的产品数量:'))

#计算金额
print('购买成功,您需要支付',price*count,'')

#退出系统
x='谢谢您的光临,下次再见'
print(f'x={x}')

实验结果

实验总结

1.decimal是十进制。Decimal可用来保存具有小数点而且数值确定的数值,它不像float用来保存近似值
   如decimal。Decimal(‘12.34567’)输出12.34567 而float里面可能是12.34567000001
2.存在的问题:task8按照书上的代码输入后,出现的表格与书上的表格有些不同,列不对齐。

 

posted on 2023-03-13 19:42  moonnoiknow  阅读(61)  评论(0)    收藏  举报