实验1 Python开发环境使用和编程初体验
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)) 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)
task1_2.py
# 使用字符串的format()方法,对输出数据项进行格式化 x1, y1 = 1.2, 3.57 x2, y2 = 2.26, 8.7 # 输出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
1 # 使用f-string方式输出数据并控制格式 2 3 name1, age1 = 'Bill', 19 4 name2, age2 = 'Hellen', 18 5 title = 'Personnel Information' 6 7 print(f'{title:=^40}') 8 print(f'name: {name1:10}, age: {age1:3}') 9 print(f'name: {name2:10}, age: {age2:3}') 10 print(40*'=')
#总结print输出常用用法:
#1.用于输出单个字符或单个变量
#2.用于输出多个数据项,用逗号分隔
#3.用户混合字符串和变量值
task2_1.py
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)
task2_2.py
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用法:
#1.把字符串转换成python表达式,相当于去掉圆弧和两边的引号
#2.组合使用内置函数eval( )和input( )
task3.py
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}')
#总结:
#1.line4输出有误差原因:Decimal数字表示是精确的,但二进制浮点数没有精确的表示,所以所以decimal精确性会延续到算术类操作中,其中的误差将妨碍可靠的相等性检验,并且误差还会不断累积。
#2.Decimal模块中的工具Decimal()是如何进行浮点运算的:通常使用 decimal 的方式是先导入该模块,可以基于整数、字符串、浮点数或元组构造 Decimal 实例,基于整数或浮点数构造将执行该整数或浮点值的精确转换。
task4.py
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'))
#总结函数chr()和ord()的用法:
#1.内置函数chr()可以创建单字符的 Unicode 字符串,该函数可接受整数参数,并返回包含对应码位的长度为 1 的 Unicode 字符串。
#2.内置函数 ord()是其逆操作,参数为单个字符的 Unicode 字符串,并返回码位值.
task5_1.py
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.py
from math import pi text = ''' 好奇心是人的天性。 理想情况下,学习新东西是让人愉快的事。 但学校里的学习似乎有点像苦役。 有时候,需要画一个大饼,每次尝试学一些新鲜的,才会每天变得更好一点点。 ''' print(text) r = float(input('给学习画一个大饼,大饼要做的很大,半径要这么大: ')) circle = 2*pi*r print(f'绕起来,大饼的圆周有这么长, {circle}, 够不够激发你探索未知的动力...')
task6.py
1 running = True 2 while running: 3 x = float(input('输入一个整数:')) 4 y = x ** 365 5 print(f'{x}的365次方:{y}')
task7.py
from math import pi import math ρ = 1.038 c = 3.7 K = 5.4*10**(-3) Tw = 100 Ty= 70 for i in range(2): T0 = eval(input("输入T0:")) M = eval(input("输入质量:")) t=(M**(2/3)*c*ρ**(1/3))/(K*pi**2*((4*pi)/3)**(2/3))*math.log(0.76*((T0-Tw)/(Ty-Tw))) minute=t//60 second=t%60 print(f'T0={T0}℃,t={minute}分,{second}秒')
实验总结:
1.更加了解print()、eval()、chr()、ord()的用法。
2.在python实践和亲自编写代码的过程中加深知识学习。