1. 实验任务1
task1_1.py
# print输出的几种用法 # 用法1:用于输出单个字符串或单个变量 print('hey, u') # 用法2:用于输出多个数据项,用逗号分隔 print('hey', ' u') x,y,z = 1,2,3 print(x, y, z) # 用法3:用户混合字符串和变量值 print('x = %d, y = %d, z = %d' %(x,y,z)) # 方式1: 传统c风格 print('x = {}, y = {}, z = {}'.format(x,y,z)) # 方式2: s.format()方法 print(f'x = {x}, y = {y}, z = {z}') # 方式3: f-string方式 # 其它: 输出后是否换行 print(x) print(y) print(z) print(x, end=' ') print(y, end=' ') print(z)
task1_2.py
# 输出1 print('{:-^40}'.format('输出1')) print('x1 = {}, y1 = {}'.format(x1, y1)) print('x2 = {}, y2 = {}'.format(x2, y2)) # 输出2 print('{:-^40}'.format('输出2')) print('x1 = {:.1f}, y1 = {:.1f}'.format(x1, y1)) print('x2 = {:.1f}, y2 = {:.1f}'.format(x2, y2)) # 输出3 print('{:-^40}'.format('输出3')) print('x1 = {:<15.1f}, y1 = {:<15.1f}'.format(x1, y1)) print('x2 = {:<15.1f}, y2 = {:<15.1f}'.format(x2, y2)) # 输出4 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.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.使用format()格式化输出。3.使用f字符串格式化输出。
2. 实验任务2
task2_1.py
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.py
x, y = eval(input('Enter two oprands: ')) ans = x + y print(f'{x} + {y} = {ans}') print(f'{type(x)} + {type(y)} = {type(ans)}')
总结:eval()的用法:可以把输入的数据类型转变为我们想要的数据类型。
3. 实验任务3
task3.py
# 浮点数简单运算 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.1,0.2在二进制浮点中没有一个足够精确的数据。
问题2:我认为Decimal()是将数字舍到十进制下的位数然后再进行运算,以免产生误差。
4. 实验任务4
# 字符编码相关 # 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()的用法:在圆括号内打入Unicode编码可以得到对应的字符(编码的尽职要求是十进制,若遇到二进制等,就在前面加0b等)
ord()的用法:在圆括号内打入字符可以得到对应的编码
5. 实验任务5
task5_1.py
# 简单的数学计算 from math import sqrt n = float(input('输入一个数:')) # python中计算开平方的两种方式 ans1 = sqrt(n) ans2 = n**0.5 print('%.2f的平方根是: %.2f' %(n, ans1)) # 以传统c风格方式输出 print('{:.2f}的平方根是: {:.2f}'.format(n, ans2)) # 使用字符串format()方法输出 print(f'{n:.2f}的平方根是: {ans2:.2f}') # 使用f-string方式输出
task5_2.py
# 神奇的pi, 与大饼 from math import pi text = ''' 好奇心是人的天性。 理想情况下,学习新东西是让人愉快的事。 但学校里的学习似乎有点像苦役。 有时候,需要画一个大饼,每次尝试学一些新鲜的,才会每天变得更好一点点。 ''' print(text) r = float(input('给学习画一个大饼,大饼要做的很大,半径要这么大: ')) circle = 2*pi*r print(f'绕起来,大饼的圆周有这么长, {circle}, 够不够激发你探索未知的动力...')
6. 实验任务6
x=input('输入一个数字') x=float(x) y=x**365 print(y)
7. 实验任务7
P=1.038 c=3.7 K=5.4*10**(-3) M=67 Tw=100 Ty=70 T0=eval(input('输入放入水之前蛋的原始温度:')) from math import log from math import pi t=(((M**(2/3))*c*(P**(1/3)))/(K*pi*pi*((4*pi/3)**2/3)))*log(0.76*(T0-Tw)/(Ty-Tw)) m=int(t/60) n=int(t-m*60) print(f'T0={T0}℃,t={m}分{n}秒')
实验总结
1.简单了解python当中简单符号的表达以及作用。
2.对于循环函数仍然存在较大疑惑。
3.对于import函数仍然存在不解。