实验一:Python开发环境使用和编程初体验
#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)
#task1_2.py
1 # 使用字符串的format()方法,对输出数据项进行格式化 2 3 x1, y1 = 1.2, 3.57 4 x2, y2 = 2.26, 8.7 5 6 # 输出1 7 print('{:-^40}'.format('输出1')) # {:-^40}控制输出数据格式: 宽度占40列,居中对齐,空白处用-补齐 8 print('x1 = {}, y1 = {}'.format(x1, y1)) 9 print('x2 = {}, y2 = {}'.format(x2, y2)) 10 11 # 输出2 12 print('{:-^40}'.format('输出2')) # {:-^40}控制输出数据格式: 宽度占40列,居中对齐,空白处用-补齐 13 print('x1 = {:.1f}, y1 = {:.1f}'.format(x1, y1)) # {:.1f}控制小数输出精度,保留1位小数 14 print('x2 = {:.1f}, y2 = {:.1f}'.format(x2, y2)) 15 16 # 输出3 17 print('{:-^40}'.format('输出3')) # {:-^40} 控制输出数据格式: 宽度占40列,居中对齐,空白处用-补齐 18 print('x1 = {:<15.1f}, y1 = {:<15.1f}'.format(x1, y1)) # {:<15.1f}控制数据输出宽度占15列,小数部分占1列,左对齐,空白处默认补空格 19 print('x2 = {:<15.1f}, y2 = {:<15.1f}'.format(x2, y2)) 20 21 # 输出4 22 print('{:-^40}'.format('输出3')) # {:-^40} 控制输出数据格式: 宽度占40列,居中对齐,空白处用-补齐 23 print('x1 = {:>15.1f}, y1 = {:>15.1f}'.format(x1, y1)) # {:>15.1f}控制数据输出宽度占15列,小数部分占1列,右对齐,空白处默认补空格 24 print('x2 = {:>15.1f}, y2 = {:>15.1f}'.format(x2, y2))
#task1_3.py
1 # 使用f-string方式输出数据并控制格式 2 3 name1, age1 = 'Bill', 19 4 name2, age2 = 'Hellen', 18 5 title = 'Personnel Information' 6 7 print(f'{title:=^40}') # 输出title的值,=^40指定输出宽度占40列,居中对齐,用=填充空白 8 print(f'name: {name1:10}, age: {age1:3}') # 10和3分别指定数据项输出宽度 9 print(f'name: {name2:10}, age: {age2:3}') 10 print(40*'=')
总结:1.使用字符串的format()方法,对输出数据项进行格式化 2.使用f-string方式输出数据并控制格式
实验2
task2_1.py
1 # 内置函数eval() 2 # 功能:把字符串转换为python表达式 3 # 理解:相当于把圆括号中的内容,两侧引号去掉 4 r1 = eval('1 + 2') # 相当于r1 = 1 + 2 5 print(type(r1), r1) 6 r2 = eval('[1, 6, 7.5]') #相当于r2 = [1, 6, 7.5] 7 print(type(r2), r2) 8 r3 = eval('"python"') # 相当于r3 = "python" 9 print(type(r3), r3) 10 r4 = eval('7, 42') # 相当于r4 = 7, 43 11 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)}')
总结:把字符串转换为python表达式,相当于把圆括号中的内容,两侧引号去掉
实验3
task3.py
1 # 浮点数简单运算 2 ans1 = 0.1 + 0.2 3 print(f'0.1 + 0.2 = {ans1}') 4 from decimal import Decimal 5 ans2 = Decimal('0.1') + Decimal('0.2') 6 print(f'0.1 + 0.2 = {ans2}')
答:
实验4
task4.py
1 # 字符编码相关 2 # chr()返回unicode编码对应的字符 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 print(chr(10000), end=" ") 9 print(chr(0x025b), end=" ") 10 print(chr(0x2708), end=" ") 11 print(chr(0x00A5), end=" ") 12 print(chr(0x266b)) 13 # ord()返回字符的unicode编码 14 print(ord('a'), end = " ") 15 print(ord('b'), end = " ") 16 print(ord('c')) 17 print(ord('A'), end = " ") 18 print(ord('B'), end = " ") 19 print(ord('C')) 20 print(ord('0'), end = " ") 21 print(ord('1'), end = " ") 22 print(ord('2'))
总结:chr()返回unicode编码对应的字符,ord()返回字符的unicode编码
实验5
task5_1.py
1 # 简单的数学计算 2 from math import sqrt 3 n = float(input('输入一个数:')) 4 # python中计算开平方的两种方式 5 ans1 = sqrt(n) 6 ans2 = n**0.5 7 print('%.2f的平方根是: %.2f' %(n, ans1)) # 以传统c风格方式输出 8 print('{:.2f}的平方根是: {:.2f}'.format(n, ans2)) # 使用字符串format()方法输出 9 print(f'{n:.2f}的平方根是: {ans2:.2f}') # 使用f-string方式输出
task5_2.py
1 # 神奇的pi, 与大饼 2 from math import pi 3 text = ''' 4 好奇心是人的天性。 5 理想情况下,学习新东西是让人愉快的事。 6 但学校里的学习似乎有点像苦役。 7 有时候,需要画一个大饼,每次尝试学一些新鲜的,才会每天变得更好一点点。 8 ''' 9 print(text) 10 r = float(input('给学习画一个大饼,大饼要做的很大,半径要这么大: ')) 11 circle = 2*pi*r 12 print(f'绕起来,大饼的圆周有这么长, {circle}, 够不够激发你探索未知的动力...')
实验6
task6.py
1 x=eval(input()) 2 print(f"{x}的365次方:{x**365}")
实验7
task7.py
1 from math import pi 2 from math import log 3 p=1.038 4 c=3.7 5 K=5.4*10**(-3) 6 M=67 7 Tw=100 8 Ty=70 9 To=float(input("输入To:")) 10 t=(M**(2/3)*c*p**(1/3))/(K*pi**2*((4*pi)/3)**(2/3))*log(0.76*((To-Tw)/(Ty-Tw))) 11 print(f"To={To}°C,t={t//60}分{t%60}秒")
通过这次实验我对python有了更加深刻的认识,对很多函数的运用有了基本的了解。