实验1 Python开发环境使用和编程初体验
1.实验任务1
task1-1.py:
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,end='')
运行结果:
task1-2.py:
1 #输出1 2 print('{:-^40}'.format('输出1')) 3 print('xi={},y1={}'.format(x1,y1)) 4 print('x2={},y2={}'.format(x2,y2)) 5 #输出2 6 print('{:-^40}'.format('输出2')) 7 print('x1={:.1f},y1={:.1f}'.format(x1,y1)) 8 print('x2={:.1f},y2={:.1f}'.format(x2,y2)) 9 #输出3 10 print('{:-^40}'.format('输出3')) 11 print('x1={:<15.1f},y1={:<15.1f}'.format(x1,y1)) 12 print('x2={:<15.1f},y2={:<15.1f}'.format(x2,y2)) 13 #输出4 14 print('{:-<40}'.format('输出4')) 15 print('x1={:>15.1f},y1={:>15.1f}'.format(x1,y1)) 16 print('x2={:>15.1f},y2={:>15.1f}'.format(x2,y2))
运行结果:
task1-3.py:
1 #使用f-string方式输出数据并控制格式 2 name1,age1='Bill',19 3 name2,age2='Hellen',18 4 title='Personnel Information' 5 print(f'{title:=^40}') 6 print(f'name:{name1:10},age={age1:3}') 7 print(f'name:{name2:10},age={age2:3}') 8 print(40*'=')
运行结果:
print()用于输出的几种常用用法:(1)输出多个对象值,改变多个值之间的分隔符;
(2)在循环内输出多个值,不换行;
(3)实现格式化输出;
(4)输出单个字符串或变量:
(5)输出多个数据项,用逗号分隔;
(6)把结果输出到文件。
2.实验任务2
task2-1.py:
1 #内置函数eval( ) 2 r1=eval('1+2') 3 print(type(r1),r1) 4 r2=eval('[1,6,7.5]') 5 print(type(r2),r2) 6 r3=eval('"python"') 7 print(type(r3),r3) 8 r4=eval('7,42') 9 print(type(r4),r4)
运行结果:
task2-2.py:
1 #组合使用内置函数eval()和input() 2 x,y=eval(input('Enter two oprands : ')) 3 ans=x+y 4 print(f'{x}+{y}={ans}') 5 print(f'{type(x)}+{type(y)}={type(ans)}')
运行结果:
eval( )函数的用法:用来执行一个字符串表达式,并返回表达式的值。
3.实验任务3
task3.py:
1 #浮点数简单运算 2 ans1=0.1+0.2 3 print(f'0.1+0.2={ans1}') 4 5 from decimal import Decimal 6 ans2=Decimal('0.1')+Decimal('0.2') 7 print(f'0.1+0.2={ans2}')
运行结果:
存在误差原因:计算机使用二进制运算,计算时出现误差。
Decimal( )进行浮点运算的方法:对于每个信号,都有一个标志和一个陷阱启动器。 遇到信号时,其标志设置为 1 ,然后,如果陷阱启用器设置为 1 ,则引发异常。 标志是粘性的,因此用户需要在监控计算之前重置它们。Decimal可用来保存具有小数点而且数值确定的数值,它不像float和real是用来保存近似值。对于Visual Basic而言,Decimal是其版本5新增的数据类型,目的是满足进行精密数学运算的需求,它是范围最大、最精确的浮点数类型。 对于Excel而言,DECIMAL()函数用于按给定基数将数字的文本表示形式转换成十进制数。
实验任务4
task4.py:
1 #字符编码相关 2 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 9 print(chr(10000),end=" ") 10 print(chr(0x025b),end=" ") 11 print(chr(0x2708),end=" ") 12 print(chr(0x00A5),end=" ") 13 print(chr(0x266b)) 14 print(ord('a'),end=' ') 15 print(ord('b'),end=" ") 16 print(ord('c')) 17 18 print(ord('A'),end=" ") 19 print(ord('B'),end=" ") 20 print(ord('C')) 21 22 print(ord('0'),end=" ") 23 print(ord('1'),end=" ") 24 print(ord('2'))
运行结果:
函数chr()的用法:chr()函数把编码转换为对应的字符:返回unicode编码对应的字符。
函数ord()的用法:ord()函数获取字符的整数表示:返回字符的unicode编码。
实验任务5
task5-1.py:
1 #简单的数学计算 2 from math import sqrt 3 n = float(input('输入一个数 : ')) 4 5 #python中计算开平方的两种方式 6 ans1=sqrt(n) 7 ans2=n**0.5 8 9 print('%.2f的平方根是:%.2f'%(n,ans1)) 10 print('{:.2f}的平方根是:{:.2f}'.format(n,ans2)) 11 print(f'{n:.2f}的平方根是:{ans2:.2f}')
运行结果:
task5-2.py:
1 #神奇的pi,与大饼 2 from math import pi 3 4 text=''' 5 好奇心是人的天性。 6 理想情况下,学习新的东西是让人愉快的事。 7 但学校里的学习似乎有点像苦役。 8 有时候,需要画一个大饼,每次尝试学一些新鲜的,才会每天变得更好一点点。 9 ''' 10 print(text) 11 12 r=float (input('给学习画一个大饼,大饼要做得很大,半径要这么大: ')) 13 circle=2*pi*r 14 print(f'绕起来,大饼的圆周有这么长,{circle},够不够激发你探索未知的动力...')
运行结果:
实验任务6:
1 x=float(input('请输入一个数 : ')) 2 y=x**365 3 print(f'{x}的365次方:{y}')
运行结果:
实验任务7
task7.py:
1 from math import pi 2 import math 3 p=1.038 4 c=3.7 5 K=5.4*10**(-3) 6 M=67 7 Tw=100 8 Ty=70 9 T0=eval(input('请输入温度')) 10 t=(M**(2/3)*c*p**(1/3))/(K*pi**2*(4*pi/3)**(2/3))*math.log((76/100)*(T0-Tw)/(Ty-Tw),math.e) 11 t1=int(t//60) 12 t2=t-(60*t1) 13 print(f'T0={T0}℃,t={t1}分{t2}秒')
运行结果:
实验总结:
(1)收获的知识点:1.print输出的几种用法;
2.对数据项进行格式化 ;
3.内置函数 eval( )的用法 ;
4.浮点数的相关运算 ;
5.字符编码的相关知识 ;
6.简单的数学知识 。
(2)感受 :通过对 学过的 知识 进行复习并加以实验,我对 python 的功能有了更多的了解 ,也 新学会了一些原来不知道的 python 工具。
不足: 对 字符串的格式化转化的 三种方法还不够熟练,对 字符编码 还不是 很了解,对python 中的一些 数学 工具 还不会 使用,以后 会 加以 练习。