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

print('hey,u')
print('hey','u')
x,y,z=1,2,3
print(x,y,z)
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,end=' ')
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))
实验一(总结):print('')输出的是单引号中的内容,如果有需要的话可以用逗号将不同的内容分隔开,其次如果碰到了需要输出引号的情况,这是可以用("' '")来加以区分,在输出的情况下可以采用三种常见的模式:1.利用占位实现输出2.用format函数3.f-string的模式即print(f'    ')中间的量用{}来引用
实验二(总结):1.学习了有关于控制输出数据的格式,学习了一些对齐模式、选用的宽度占位、默认补足的情景、小数部分占位的情景{:-^40}控制输出数据格式宽度占40列,居中对齐空白处用-补齐,
{:>15.1f}控制数据输出宽度占15列,小数部分占1列,右对齐,空白处默认补空格(f'{title:=^40}') # 输出title的值,=^40指定输出宽度占40列,居中对齐,用=填充空print(f'name: {name1:10}, age: {age1:3}') # 103分别指定数据项输出宽度print(f'name: {name2:10}, age: {age2:3}')print(40*'=')12
2. eval的用法:能够把字符串转换为python表达式,相当于把圆括号的内容,将两侧的引号去掉
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*'=')

task-2-1
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

x, y = eval(input('Enter two oprands: '))
ans = x + y
print(f'{x} + {y} = {ans}')
print(f'{type(x)} + {type(y)} = {type(ans)}')

task3
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:由于是二进制计算所以会存在误差

问题2:decimal:是符合和人类运算习惯的浮点数模型,因此再进行计算的时候和人们平时计算的结果是一致的,而不会存在二进制计算中的误差

task4:
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)) 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()是将数字转化成ASCII中的字符而ord()是将字符转化成对应的数字
task5
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
from math import pi
text = '''好奇心是人的天性。理想情况下,学习新东西是让人愉快的事。但学校里的学习似乎有点像苦役。有时候,需要画一个大饼,每次尝试学一些新鲜的,才会每天变得更好一点点。       '''
print(text)

r = float(input('给学习画一个大饼,大饼要做的很大,半径要这么大: '))
circle = 2*pi*r
print(f'绕起来,大饼的圆周有这么长, {circle}, 够不够激发你探索未知的动力...')

task6

x=eval(input('请输入一个数x:'))
y=x**365
print(f'x的365次方:{y}')
x=eval(input('请输入一个数x:'))
y=x**365
print(f'x的365次方:{y}')
x=eval(input('请输入一个数x:'))
y=x**365
print(f'x的365次方:{y}')

 

 

p=1.038
c=3.7
k=5.4*10**(-3)
Tw=100
Ty=70
T0=eval(input('T的初始值是:'))
M=67
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))
b=int(t/60)
h=int(t-b*60)
print(f'T0={T0}℃,t={b}分{h}秒')

 四、实验结论(一些用法的汇总)

1.

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方式

2.

('{:-^40}'.format('输出1')) # {:-^40}控制输出数据格式: 宽度占40列,居中对齐,空白处用-补齐
print('x1 = {:.1f}, y1 = {:.1f}'.format(x1, y1)) # {:.1f}控制小数输出精度,保留1位小数
print('x1 = {:<15.1f}, y1 = {:<15.1f}'.format(x1, y1)) # {:<15.1f}控制数据输出宽度占15列,小数部分占1列,左对齐,空白处默认补空格
 print('x1 = {:>15.1f}, y1 = {:>15.1f}'.format(x1, y1)) # {:>15.1f}控制数据输出宽度占15列,小数部分占1列,右对齐,空白处默认补空格
print('%.2f的平方根是: %.2f'%(n, ans1)) # 以传统c风格方式输出
print('{:.2f}的平方根是: {:.2f}'.format(n, ans2)) # 使用字符串format()方法
输出print(f'{n:.2f}的平方根是: {ans2:.2f}') # 使用f-string方式输出
实验总结

1.较为系统性地复习了第一二两章地知识点,强化了印象,有助于锻炼我自己在编程语言方面的技巧和熟练程度

2.还学会了一些占位的方法,在具体的编程过程中发现自己对于eval 还有 输出中的f-string函数不是很熟练

 

 

posted @ 2022-03-23 19:01  苏萌0017  阅读(59)  评论(2编辑  收藏  举报