实验一
Task1_1
1 print('hey, u') 2 3 print('hey',' u') 4 5 x,y,z = 1,2,3 6 7 print(x, y, z) 8 9 print('x = %d, y = %d, z = %d' %(x,y,z)) 10 print('x = {}, y = {}, z = {}'.format(x,y,z)) 11 print(f'x = {x}, y = {y}, z = {z}') 12 13 print(x) 14 print(y) 15 print(z) 16 17 print(x, end=' ') 18 print(y, end=' ') 19 print(z)
Task1_2
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('输出3')) 17 print('x1 = {:>15.1f}, y1 = {:>15.1f}'.format(x1, y1)) 18 print('x2 = {:>15.1f}, y2 = {:>15.1f}'.format(x2, y2))
Task1_3
1 name1, age1 = 'Bill', 19 2 name2, age2 = 'Hellen', 18 3 title = 'Personnel Information' 4 print(f'{title:=^40}') 5 print(f'name: {name1:<10}, age: {age1:<3}') 6 print(f'name: {name2:<10}, age: {age2:<3}') 7 print(40*'=')
print的用法
print(x,y)
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}')
Task2_1
1 r1 = eval('1 + 2') 2 print(type(r1), r1) 3 r2 = eval('[1, 6, 7.5]') 4 print(type(r2), r2) 5 r3 = eval('"python"') 6 print(type(r3), r3) 7 r4 = eval('7, 42') 8 print(type(r4), r4)
Task2_2
1 x, y = eval(input('Enter two oprands: ')) 2 ans = x + y 3 print(f'{x} + {y} = {ans}') 4 print(f'{type(x)} + {type(y)} = {type(ans)}')
eval()可以将字符串转换为python表达式
Task3
1 from decimal import Decimal 2 ans1 = 0.1+0.2 3 print(f'0.1+0.2 = {ans1}') 4 ans2 = Decimal('0.1')+Decimal('0.2') 5 print(f'0.1+0.2 = {ans2}')
由于二进制与十进制之间不能完全转化故会存在误差。decimal 模块旨在支持“无偏差,精确无舍入的十进制算术(有时称为定点数算术)和有舍入的浮点数算术”。
Task4
1 # chr()返回unicode编码对应的字符 2 print(chr(0x1f600), end = " ") 3 print(chr(0x1f601), end = " ") 4 print(chr(0x1f602), end = " ") 5 print(chr(0x1f603), end = " ") 6 print(chr(0x1f604)) 7 8 print(chr(10000), end=" ") 9 print(chr(0x025b), end=" ") 10 print(chr(0x2708), end=" ") 11 print(chr(0x00A5), end=" ") 12 print(chr(0x266b)) 13 14 # ord()返回字符的unicode编码 15 print(ord('a'), end = " ") 16 print(ord('b'), end = " ") 17 print(ord('c')) 18 19 print(ord('A'), end = " ") 20 print(ord('B'), end = " ") 21 print(ord('C')) 22 23 print(ord('0'), end = " ") 24 print(ord('1'), end = " ") 25 print(ord('2'))
chr()返回值是当前整数对应的 ASCII 字符。
ord()返回值是对应的十进制整数。
Task5_1
1 from math import sqrt 2 n = float(input('输入一个数:')) 3 4 ans1 = sqrt(n) 5 ans2 = n**0.5 6 7 print('%.2f的平方根是: %.2f' %(n, ans1)) 8 print('{:.2f}的平方根是: {:.2f}'.format(n, ans2)) 9 print(f'{n:.2f}的平方根是: {ans2:.2f}')
Task5_2
1 from math import pi 2 text = ''' 3 好奇心是人的天性。 4 理想情况下,学习新东西是让人愉快的事。 5 但学校里的学习似乎有点像苦役。 6 有时候,需要画一个大饼,每次尝试学一些新鲜的,才会每天变得更好一点点。 7 ''' 8 print(text) 9 r = float(input('给学习画一个大饼,大饼要做的很大,半径要这么大: ')) 10 circle = 2*pi*r 11 print(f'绕起来,大饼的圆周有这么长, {circle}, 够不够激发你探索未知的动力...')
Task6
1 x=eval(input('请输入一个数字:')) 2 y=x**365 3 print(f'{x}的365次方:{y:.10f}')
Task7
1 import math 2 3 T0=eval(input('请输入初始温度:')) 4 Tw=100 5 Ty=70 6 ρ=1.038 7 c=3.7 8 K=5.4*10**(-3) 9 M=67 10 t=((M**(2/3)*c*ρ*(1/3))/(K*math.pi**2*(4*math.pi/3)**(2/3)))*math.log(0.76*(T0-Tw)/(Ty-Tw)) 11 fenzhong=math.floor(math.ceil(t)/60) 12 miao=math.ceil(t)-fenzhong*60 13 print(f'T0 = {T0}℃,t = {fenzhong}分{miao}秒')