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

1、实验任务1

task1-1.py

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 = %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

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'))
print('x1 = {:>15.1f}, y1 = {:>15.1f}'.format(x1, y1))
print('x2 = {:>15.1f}, y2 = {:>15.1f}'.format(x2, y2))

运行结果为:

task1-3.py

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输出的几种方法:

用于输出单个字符或单个变量

用于输出多个数据项,用逗号隔开

用于混合字符串和变量值

默认输出后换行

 

2、实验任务2

task2-1.py

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.py

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中表达式

理解:相当于把圆括号中的内容,两侧引号去掉

3、实验任务3

task3.py

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

结果:

Q1:因为原本的二进制浮点数本身存在误差

Q2:decimal模板提供十进制浮点运算,更加精确;可以四舍五入设置保留的小数位,且不管小数原来的形式

 

4、实验任务4

task4.py

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()返回unicode编码对应的字符

ord()返回字符的unicode编码

 

5、实验任务5

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

结果:

6、实验任务6

task6.py

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

结果:

7、实验任务7

 task7.py

T0=eval(input('输入放入水中之前蛋的原始温度(℃):'))
from math import pi
from math import log
M,c,p,k,Tw,Ty=47,3.7,1.038,0.0054,100,70
t=(((M**(2/3))*c*((p)**(1/3)))/(k*(pi**2)*((4*pi/3)**(2/3))))*log(0.76*(Tw-T0)/(Tw-Ty))
f=int(t/60)
m=int(t-60*f)
print(f'T0={T0}℃, t={f}分{m}秒')

结果:

 

实验总结:

1、总结print输出的几种方法:用于输出单个字符或单个变量;用于输出多个数据项,用逗号隔开;用于混合字符串和变量值

print默认输出后换一行,可以通过end指定数据项之间的符实现不换行

2、使用字符串的format()方法,对输出数据进行格式化

{:-^10}控制输出数据格式:宽度占40,居中对齐,空白处用-补齐 ; {:.1f}控制小数输出精度,保留1位小数;{:>15.1f}控制数据输出宽度占比15列,小数部分占1列,右对齐,空白处默认补空格

3、使用f-string方式输出数据并控制格式 :print(f'{title:=^40}') #输出title的值,=^40指定输出宽度占40列,居中对齐,用=填充空白
4、内置函数eval()  #功能:把字符串转换为python中表达式 #理解:相当于把圆括号中的内容,两侧引号去掉

组合使用内置函数eval()和input()

5、decimal模板提供十进制浮点运算,更加精确;可以四舍五入设置保留的小数位,且不管小数原来的形式

6、chr()返回unicode编码对应的字符  ;  ord()返回字符的unicode编码

 尚存的问题:操作仍未熟练

 

posted @ 2022-03-23 19:27  Scavengercjw  阅读(58)  评论(4)    收藏  举报