实验1Python开发环境使用和编程初体验

 
试验任务一:
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) 24 25 #使用字符串的format()用法,对输出数据进行格式化 26 27 x1,y1=1.2,3.57 28 x2,y2=2.26,8.7 29 30 #输出1 31 print('{:-^40}'.format('输出1')) #{:-^40}控制输出数据格式:宽度占40列,居中对齐,空白处用-补齐 32 print('x1={},y1={}'.format(x1,y1)) 33 print('x2={},y2={}'.format(x2,y2)) 34 35 #输出2 36 print('{:-^40}'.format('输出2')) #{:-^40}控制输出数据格式:宽度占40列,居中对齐,空白处用-补齐 37 print('x1={:.1f},y1={:.1f}'.format(x1,y1)) #{:.1f}控制小数输出精度,保留一位小数 38 print('x2={:.1f},y2={:.1f}'.format(x2,y2)) 39 40 #输出3 41 print('{:-^40}'.format('输出3')) #{:-^40}控制输出数据格式:宽度占40列,居中对齐,空白处用-补齐 42 print('x1={:<15.1f},y1={:<15.1f}'.format(x1,y1)) #{:<15.1f}控制数据输出宽度占15列,小数部分占1列,左对齐,空白处默认补空格 43 print('x2={:<15.1f},y2={:<15.1f}'.format(x2,y2)) 44 45 #输出4 46 print('{:-^40}'.format('输出4')) #{:-^40}控制输出数据格式:宽度占40列,居中对齐,空白处用-补齐 47 print('x1={:>15.1f},y1={:>15.1f}'.format(x1,y1)) #{:<15.1f}控制数据输出宽度占15列,小数部分占1列,右对齐,空白处默认补空格 48 print('x2={:>15.1f},y2={:>15.1f}'.format(x2,y2)) 49 50 #使用f-string方式输出数据并控制格式 51 52 name1, age1 = 'Bill',19 53 name2, age2 = 'Hellen',18 54 title= 'Personnel Information' 55 56 print(f'{title:=^40}') #输出title的值,=^40指定输出宽度占40列,居中对齐,用=填充空白 57 print(f'name:{name1:10},age:{age1:3}') #10和3分别指定数据项输出宽度 58 print(f'name:{name2:10},age:{age2:3}') 59 print(40*'=')
结论:print用于输出的用法:用于输出单个字符串或单个变量;用于输出多个数据项,用逗号分隔;用户混合字符串和变量值


实验任务二:
r1 = eval('1 + 2') # 相当于r1 = 1 + 2
print(type(r1), r1)
r2 = eval('[1, 6, 7.5]') #相当于r2 = [1, 6, 7.5]
print(type(r2), r2)
r3 = eval('"python"') # 相当于r3 = "python"
print(type(r3), r3)
r4 = eval('7, 42') # 相当于r4 = 7, 43
print(type(r4), r4)
x, y = eval(input('Enter two oprands: ')) # 输入的两个操作数之间用逗号分隔(英文半角 输入法下的逗号)
ans = x + y
print(f'{x} + {y} = {ans}')
print(f'{type(x)} + {type(y)} = {type(ans)}')

 

结论:函数eval的用法:把字符串转换为python表达式,相当于去掉圆弧和两边的引号 ;组合使用内置函数eval()和input()

实验任务三:
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}')

结论:line4输出结果有误差的原因:Decimal 数字的表示是完全精确的,但是二进制浮点数没有精确的表示,所以decimal精确性会延续到算术类操作中,其中的误差将妨碍可靠的相等性检验,并且误差还会不断累积。

decimal模块中的工具Decimal()是如何进行浮点运算的:通常使用 decimal 的方式是先导入该模块,可以基于整数、字符串、浮点数或元组构造 Decimal 实例,基于整数或浮点数构造将执行该整数或浮点值的精确转换。
实验任务四:

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()和ord()的用法:内置函数chr()可以创建单字符的 Unicode 字符串,该函数可接受整数参数,并返回包含对应码位的长度为 1 的 Unicode 字符串。内置函数 ord()是其逆操作,参数为单个字符的 Unicode 字符串,并返回码位值.

实验任务五:
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方式输出
from math import pi
text = '''
好奇心是人的天性。
理想情况下,学习新东西是让人愉快的事。
但学校里的学习似乎有点像苦役。
有时候,需要画一个大饼,每次尝试学一些新鲜的,才会每天变得更好一点点。
'''
print(text)
r = float(input('给学习画一个大饼,大饼要做的很大,半径要这么大: '))
circle = 2*pi*r
print(f'绕起来,大饼的圆周有这么长, {circle}, 够不够激发你探索未知的动力...')
实验任务六:
a=eval(input("请输入一个数字:"))
y=a**365
print(f'[x]的365次方是[y]')

 

实验任务七:

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}秒')

实验总结:对print的用法,以及内置函数有了深入了解。细节方面还需要再把控,大小写和单位要注意。希望多一些用法总结的实践题练手。

 



 

posted @ 2022-03-25 18:54  杜雨萱  阅读(60)  评论(2编辑  收藏  举报