实验1 Python开发环境使用和编程初体验
四、实验结论
1.实验任务1
1 print('hey u') 2 3 print('hey','u') 4 x,y,z=1,2,3 5 print(x,y,z) 6 7 print('x=%d,y=%d,z=%d'%(x, y, z)) 8 print('x={},y={},z={}'.format(x,y,z)) 9 print(f'x={x},y={y},z={z}') 10 11 print(x) 12 print(y) 13 print(z) 14 15 print(x,end=' ') 16 print(y,end=' ') 17 print(z)
1 x1,y1=1.2,3.57 2 x2,y2=2.26,8.7 3 4 print('{:-^40}'.format('输出1')) 5 print('x1={},y1={}'.format(x1,y1)) 6 print('x2={},y2={}'.format(x2,y2)) 7 8 print('{:-^40}'.format("输出2")) 9 print('x1={:.1f},y1={:.1f}'.format(x1,y1)) 10 print('x2={:.1f},y2={:.1f}'.format(x2,y2)) 11 12 print('{:-^40}'.format('输出3')) 13 print('x1={:<15.1f},y1={:<15.1f}'.format(x1,y1)) 14 print('x2={:<15.1f},y2={:<15.1f}'.format(x2,y2)) 15 16 print('{:-^40}'.format('输出4')) 17 print('x1={:>15.1f},y1={:>15.1f}'.format(x1,y1)) 18 print('x2={:>15.1f},y2={:>15.1f}'.format(x2,y2))
1 name1,age1='Bill',19 2 name2,age2='Hellen',18 3 title='Personnel Information' 4 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*'=')
总结:
1.用于输出单个字符串或单个变量
2.用于输出多个数据项,用逗号分隔
3.用户混合字符串和变量值
4.使用字符串的format()方法,对输出数据项进行格式化
5.使用f-string方式输出数据并控制格式
2.实验任务2
1 r1 = eval('1+2') 2 print(type(r1),r1) 3 4 r2 = eval('[1,6,7.5]') 5 print(type(r2),r2) 6 7 r3 = eval('"python"') 8 print(type(r3), r3) 9 10 r4 = eval('7, 42') 11 print(type(r4), r4)
1 x,y=eval(input('Enter two oprands:')) 2 ans=x+y 3 4 print(f'{x}+{y}={ans}') 5 print(f'{type(x)}+{type(y)}={type(ans)}')
总结:
eval()函数识别并把字符串转换为对应python表达式
3.实验任务3
1 ans1=0.1+0.2 2 print(f'0.1+0.2={ans1}') 3 4 from decimal import Decimal 5 6 ans2=Decimal('0.1')+Decimal('0.2') 7 print(f'0.1+0.2={ans2}')
为什么line4输出结果显示存在误差?
0.1 和 0.2 这样的数字在二进制浮点中没有精确的表示。
查阅decimal模块资料,尝试分析和思考,decimal模块中的工具Decimal()是如何进行浮点运算的?
Decimal模块为快速正确舍入的十进制浮点运算提供支持。
Decimal 数字的表示是完全精确的。
4.实验任务4
1 print(chr(0x1f600), end = " ") 2 print(chr(0x1f601), end = " ") 3 print(chr(0x1f602), end = " ") 4 print(chr(0x1f603), end = " ") 5 print(chr(0x1f604)) 6 7 print(chr(10000), end=" ") 8 print(chr(0x025b), end=" ") 9 print(chr(0x2708), end=" ") 10 print(chr(0x00A5), end=" ") 11 print(chr(0x266b)) 12 13 print(ord('a'), end = " ") 14 print(ord('b'), end = " ") 15 print(ord('c')) 16 17 print(ord('A'), end = " ") 18 print(ord('B'), end = " ") 19 print(ord('C')) 20 21 print(ord('0'), end = " ") 22 print(ord('1'), end = " ") 23 print(ord('2'))
总结:
1.chr()返回unicode编码对应的字符
2.ord()返回字符的unicode编码
5.实验任务5
1 from math import sqrt 2 3 n = float(input('输入一个数:')) 4 5 ans1 = sqrt(n) 6 ans2 = n**0.5 7 8 print('%.2f的平方根是: %.2f' %(n, ans1)) 9 print('{:.2f}的平方根是: {:.2f}'.format(n, ans2)) 10 print(f'{n:.2f}的平方根是: {ans2:.2f}')
1 from math import pi 2 3 text = ''' 4 好奇心是人的天性。 5 理想情况下,学习新东西是让人愉快的事。 6 但学校里的学习似乎有点像苦役。 7 有时候,需要画一个大饼,每次尝试学一些新鲜的,才会每天变得更好一点点。 8 ''' 9 print(text) 10 11 r = float(input('给学习画一个大饼,大饼要做的很大,半径要这么大: ')) 12 13 circle = 2*pi*r 14 15 print(f'绕起来,大饼的圆周有这么长, {circle}, 够不够激发你探索未知的动力...')
6.实验任务6
1 x=eval(input('输入x的值:')) 2 y=x**365 3 print(f'{x}的365次方:{y}')
7.实验任务7
1 from math import pi 2 import math 3 4 M=67 5 p=1.038 6 c=3.7 7 K=5.4e-3 8 9 Tw=100 10 Ty=70 11 T0=eval(input('放入水中之前蛋的原始温度(以℃计):')) 12 13 t0=0.76*(T0-Tw)/(Ty-Tw) 14 t0=math.log(t0) 15 16 t1=((M**(2/3)*c*p**(1/3)*t0)/(K*pi**2*(4*pi/3)**(2/3)))//60 17 18 t2=((M**(2/3)*c*p**(1/3)*t0)/(K*pi**2*(4*pi/3)**(2/3)))-t1*60 19 print(f'T0={T0}℃,{t1:.0f}分{t2:.0f}秒')
五、实验总结
1.本次实验的收获:
1)巩固记忆了print()用于输出的几种常用用法:
(1)用于输出单个字符串或单个变量;
(2)用于输出多个数据项,用逗号分隔;
(3)用户混合字符串和变量值;
(4)使用字符串的format()方法,对输出数据项进行格式化;
(5)使用f-string方式输出数据并控制格式。
2)eval()函数识别并把字符串转换为对应python表达式。
3)Decimal模块为快速正确舍入的十进制浮点运算提供支持;
Decimal 数字的表示是完全精确的。
4)chr()返回unicode编码对应的字符;
ord()返回字符的unicode编码。
2.存在的问题:
1)许多函数的记忆不牢固
2)不清楚如何导入库从而使用其内部工具