实验一

#TASK1.1
 1 print('hey, u')
 2 print('hey', ' u')
 3 x,y,z = 1,2,3
 4 print(x, y, z)
 5 print('x = %d, y = %d, z = %d' %(x,y,z))
 6 print('x = {}, y = {}, z = {}'.format(x,y,z))
 7 print(f'x = {x}, y = {y}, z = {z}')
 8 print(x)
 9 print(y)
10 print(z)
11 print(x, end=' ')
12 print(y, end=' ')
13 print(z)

#TASK1.2
x1, y1 = 1.2, 3.57
x2, y2 = 2.26, 8.7
print('{:-^40}'.format('输出1'))
print('x1 = {}, y1 = {}'.format(x1, y1))
print('x2 = {}, y2 = {}'.format(x2, y2))
print('{:-^40}'.format('输出2'))
print('x1 = {:.1f}, y1 = {:.1f}'.format(x1, y1))
print('x2 = {:.1f}, y2 = {:.1f}'.format(x2, y2))
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('{:-^40}'.format('输出3')) # {:-^40}
print('x1 = {:>15.1f}, y1 = {:>15.1f}'.format(x1, y1))
print('x2 = {:>15.1f}, y2 = {:>15.1f}'.format(x2, y2))
print('x2 = {:>15.1f}, y2 = {:>15.1f}'.format(x2, y2))

#TASK1.3
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 函数用于输出的几种用法:

直接输出: print( "Hello Python!" )

多个输出:print( x , y )

输出后:print( x,end = " ")

格式化输出:priny( " %dx%d = %d" %(x,y,x*y) )

格式化输出:print( f " {number:-^30} )

格式化输出:print( "{:-.2f} x {-:.2f} = {:-.2f}" . format(x,y,x*y))

输出多个单体: print( 40 * " = ")

 

#TASK2.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)}')

a. 处理数字

单引号,双引号,eval()函数都将其解释为int类型;三引号则解释为str类型。

b.处理字符串类型的字符串

#TASK.3
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在二进制浮点中没有精确的表示,其中的误差将妨碍可靠的相等性检验,并且误差还会不断累积,而对于 decimal 浮点数,会精确表示0.3

问题二:1.可以传递给Decimal整型或者字符串参数,但不能是浮点数据,因为浮点数据本身就不准确。

2.要从浮点数据转换为Decimal类型

3.通过设定有效数字,限定结果样式

4.四舍五入,保留几位小数

5.Decimal 结果转化为string

#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('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'))

ord ()函数主要用来返回对应字符的ascii码,chr ()主要用来表示ascii码对应的字符他的输入时数字,可以用十进制,也可以用十六进制。

#TASK5.1
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=float(input('输入一个数: '))
y=x**365
print('x的365次方:',y)

#TASK7
import math
ρ = 1.038
c = 3.7
K = 0.0054
M = 67
Tw = 100
Ty = 70
T0 = int(input("输入原始温度:"))
t = M**(2/3) * c * ρ**(1/3) * math.log(0.76*(T0 - Tw)/(Ty - Tw))/math.log(math.e)/(K * math.pi**2 * (4*math.pi/3)**(2/3))
print(f"T0= {T0} °C,t = {t//60:2g} 分 {t%60:.0f}秒")

 

posted @ 2022-03-23 20:06  云处安  阅读(27)  评论(2编辑  收藏  举报