实验1

实验任务1

task1.1

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)

 

task.1.

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))

task.1.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*'=')

总结

输出单个字符串或单个变量;输出多个数据项,用逗号分隔;混合字符串和变量值:s.format()方法,f-string方式;输出后换行或不换行+end=“ ”;控制输出格式,如对齐方式、空格与宽度;

 

实验任务2

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)

 

task.2.2

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

eval()函数将字符串转换成有效表达式使用或求值

实验任务3

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在二进制状态下没有准确的数值

2. decimal函数为0.1与0.2提供了十进制运算方式,所以不会有误差

实验任务4

task.4

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

chr()将一个整数转换成一个字符

ord()将一个字符转换成它对应的整数

 

实验任务5

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}, 够不够激发你探索未知的动力...')

实验任务6

task.6

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

实验任务7

task.7

Tw = 100  # 水沸腾的温度
Ty = 70  # 蛋黄中蛋白质凝结的临界温度
from math import *
# 鸡蛋的参数
p = 1.038  # 鸡蛋的密度
c = 3.7  # 比热容
K = 5.4*(10**(-3))  # 热导率
M = 67  # 大鸡蛋质量
T0 = int(input("请输入初始温度:"))
m = M**(2/3)*c*(p**1/3)
n = K*(pi**2)*((4*pi/3)**2/3)
q = log1p(0.76*((T0-Tw)/(Ty-Tw)))
t = m/n*q
t1 = int(t/60)
t2 = int(t-(t1*60))print(f'T0={T0}℃,t={t1}分{t2}秒')

实验总结

1.学会了调用模块,比如调用数学函数。有两种方式,第一种是 import math。第二种是 from math import *(或者只调用一种数学函数)

  对于输出的方式掌握更加熟练

2.解决第7个问题的时候速度比较慢,一开始输入时间的计算公式时就一串代码解决掉了,没有考虑到修正的问题,导致出错的时候检查很慢。之后才意识到这种时候应该拆分模块,使代码更清晰,方便检错。

重新修改了实验七,发现了两处指数没有添加括号导致实验结果出错

 

posted @ 2022-03-23 20:26  东揚  阅读(46)  评论(6)    收藏  举报