实验一 Python开发环境使用和编程初体验
task.1.1
rint('hey,u') print('hey','u') x,y,z=1,2,3 print(x,y,z) print('x=%d,y=%d,z=%d'%(x,y,z)) print('x={},y={},z={}'.format(x,y,z)) print(f'x={x},y={y},z={z}') print(x) print(y) print(z) print(x,end='') print(y,end='') print(z)
task.1.2
x1, y1 = 1.2, 3.57 x2, y2 = 2.26, 8.7 print('{:-^40}'.format('输出1')) print('x1 = {}, y1 = {}'.format(x1, y1)) print('x2 = {}, y2 = {}'.format(x2, y2)) print('{:-^40}'.format('输出2')) print('x1 = {:.1f}, y1 = {:.1f}'.format(x1, y1)) # {:.1f} print('x2 = {:.1f}, y2 = {:.1f}'.format(x2, y2)) print('{:-^40}'.format('输出3')) print('x1 = {:<15.1f}, y1 = {:<15.1f}'.format(x1, y1)) print('x2 = {:<15.1f}, y2 = {:<15.1f}'.format(x2, y2)) print('{:-^40}'.format('输出3'))
print('x1 = {:>15.1f}, y1 = {:>15.1f}'.format(x1, y1)) print('x2 = {:>15.1f}, y2 = {:>15.1f}'.format(x2, y2))
task1.3
name1, age1 = 'Bill', 19 name2, age2 = 'Hellen', 18 title = 'Personnel Information' print(f'{title:=^40}') print(f'name: {name1:10}, age: {age1:3}') print(40*'=')
print常见用法:
一:用于输出单个字符串或单个变量
二: 用于输出多个数据项,用逗号分隔
三: 用户混合字符串和变量,即格式化输出,如通过f-string,format,%来格式化输出
task2.1
r1 = eval('1 + 2') print(type(r1), r1) r2 = eval('[1, 6, 7.5]') print(type(r2), r2) r3 = eval('"python"') print(type(r3), r3) r4 = eval('7, 42') print(type(r4), r4)
task2.2
x, y = eval(input('Enter two oprands: ')) ans = x + y print(f'{x} + {y} = {ans}') print(f'{type(x)} + {type(y)} = {type(ans)}')
函数eval的用法:
用来执行一个字符串形式的表达式,并返回表达式的值.函数就是实现list,dict,tuple 和str 之间的转化
task3
ans1 = 0.1 + 0.2 print(f'0.1 + 0.2 = {ans1}') from decimal import Decimal ans2 = Decimal('0.1') + Decimal('0.2') print(f'0.1 + 0.2 = {ans2}')
浮点数的计算会显示误差: 1)由于计算机内部以二进制保存,所以十进制的有限位的小数,在计算机内部会是一个无限位的小数。
例如 十进制的0.9虽然只有一位小数,转成2进制是无限循环小数0.1110011001100110011...
2)计算机保存浮点数的精度有限
二decimal要求数字不再以浮点数类型存储,而是以字符串来表示
task4
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的用法:输入一个整数,返回其对应的ascill码
ord的用法:返回单个字符的unicode数值
task5.1
from math import sqrt n = float(input('输入一个数:')) ans1 = sqrt(n) ans2 = n**0.5 print('%.2f的平方根是: %.2f' %(n, ans1)) print('{:.2f}的平方根是: {:.2f}'.format(n, ans2)) print(f'{n:.2f}的平方根是: {ans2:.2f}')
task5.2
rom math import pi text = ''' 好奇心是人的天性。 理想情况下,学习新东西是让人愉快的事。 但学校里的学习似乎有点像苦役。 有时候,需要画一个大饼,每次尝试学一些新鲜的,才会每天变得更好一点点。 ''' print(text) r = float(input('给学习画一个大饼,大饼要做的很大,半径要这么大: ')) circle = 2*pi*r print(f'绕起来,大饼的圆周有这么长, {circle}, 够不够激发你探索未知的动力...')
task6
=input('请输入一个数') x=float(s) y=pow(x,365) print('{}的y365次方:{}'.format(x,y))
task7
import math from math import pi from math import e from math import log a=math.log(10) p=1.038 c=3.7 k=5.4*10**(-3) M=67 Tw=100 Ty=70 T0=float(input()) s=log(0.76*(T0-Tw)/(Ty-Tw),e) t=pow(M,2/3)*c*pow(p,1/3)/(k*pi*pi*pow(4*pi/3,2/3))*s m=int(t/60) n=int(t-60*m) print('T0={}℃'.format(T0)) print('t={}分{}秒'.format(m,n))
实验总结
python功能强大,操作简单,但是这是一门编程语言,学习python 讲究一定的逻辑,循序渐进.我认为初学python,学习是比较抽象的,所以应该多和老师和学得好的同学交流,有人指引会事半功倍,效率更高.其次就是只有多去实践操作,才能把书上抽象的东西记忆得更牢固,理解更深.