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

实验任务1

task1-1.py

 1 print('hey, u')
 2 
 3 print('hey', ' u')
 4 x,y,z = 1,2,3
 5 print(x, y, z)
 6 
 7 print('x = %d, y = %d, z = %d' %(x,y,z)) 
 8 print('x = {}, y = {}, z = {}'.format(x,y,z)) 
 9 print(f'x = {x}, y = {y}, z = {z}') 
10 
11 print(x) 
12 print(y)
13 print(z)
14 print(x, end=' ') 
15 print(y, end=' ')
16 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

1 name1, age1 = 'Bill', 19
2 name2, age2 = 'Hellen', 18
3 title = 'Personnel Information'
4 print(f'{title:=^40}')
5 
6 print(f'name: {name1:10}, age: {age1:3}')
7 print(f'name: {name2:10}, age: {age2:3}')
8 print(40*'=')

 print()有三种常用用法:1、使用%格式化输出。2、使用format()格式化输出。3、使用f字符串格式化输出

实验任务2

task2-1.py

1 r1 = eval('1 + 2')
2 print(type(r1), r1)
3 r2 = eval('[1, 6, 7.5]')
4 print(type(r2), r2)
5 r3 = eval('"python"')
6 print(type(r3), r3)
7 r4 = eval('7, 42')
8 print(type(r4), r4)

task2-2.py

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

 内置函数eval()可以把字符串转换为python表达式

 相当于把圆括号中的内容,两侧引号去掉。一般将组合使用内置函数eval()和input()

实验任务3

task3.py

1 ans1 = 0.1 + 0.2
2 print(f'0.1 + 0.2 = {ans1}')
3 from decimal import Decimal
4 ans2 = Decimal('0.1') + Decimal('0.2')
5 print(f'0.1 + 0.2 = {ans2}')

 1.为什么line4输出结果显示存在误差?

0.1 和 0.2 这样的数字在二进制浮点中没有精确的表示,对于二进制浮点数,虽然接近于零,但其中的误差将妨碍可靠的相等性检验,并且误差还会不断累积

2.查阅decimal模块资料,尝试分析和思考,decimal模块中的工具Decimal()是如何进行浮点运算的?
 
decimal 模块旨在支持“无偏差,精确无舍入的十进制算术(有时称为定点数算术)和有舍入的浮点数算术”。decimal 数值是不可变对象。 它由符号,系数和指数位组成。 为了保持有效位,系数位不会截去末尾零。

实验任务4

task4.py

 1 print(chr(0x1f600), end = " ")
 2 print(chr(0x1f601), end = " ")
 3 print(chr(0x1f602), end = " ")
 4 print(chr(0x1f603), end = " ")
 5 print(chr(0x1f604))
 6 
 7 print(chr(10000), end=" ")
 8 print(chr(0x025b), end=" ")
 9 print(chr(0x2708), end=" ")
10 print(chr(0x00A5), end=" ")
11 print(chr(0x266b))
12 
13 print(ord('a'), end = " ")
14 print(ord('b'), end = " ")
15 print(ord('c'))
16 
17 print(ord('A'), end = " ")
18 print(ord('B'), end = " ")
19 print(ord('C'))
20 
21 print(ord('0'), end = " ")
22 print(ord('1'), end = " ")
23 print(ord('2'))

chr()转换成整数对应的ASCⅡ字符

ord()转换成ASCⅡ字符对应的整数

实验任务5

task5-1.py

 1 from math import sqrt
 2 
 3 n = float(input('输入一个数:'))
 4 
 5 ans1 = sqrt(n)
 6 ans2 = n**0.5
 7 
 8 print('%.2f的平方根是: %.2f' %(n, ans1))
 9 print('{:.2f}的平方根是: {:.2f}'.format(n, ans2))
10 print(f'{n:.2f}的平方根是: {ans2:.2f}')

task5-2.py

 1 from math import pi
 2 
 3 text = '''
 4 好奇心是人的天性。
 5 理想情况下,学习新东西是让人愉快的事。
 6 但学校里的学习似乎有点像苦役。
 7 有时候,需要画一个大饼,每次尝试学一些新鲜的,才会每天变得更好一点点。
 8 '''
 9 print(text)
10 r = float(input('给学习画一个大饼,大饼要做的很大,半径要这么大: '))
11 circle = 2*pi*r
12 print(f'绕起来,大饼的圆周有这么长, {circle}, 够不够激发你探索未知的动力...')

 

实验任务6

task6.py

1 a = input('输入一个数:')
2 x = eval(a)
3 y = x**365
4 print(x,'的365次方:',y)

实验任务7

task7.py

 1 from math import*
 2 T0=int(input('输入温度T0: '))
 3 p=1.038
 4 c=3.7
 5 K=5.4*(10**(-3))
 6 M=67
 7 Tw=100
 8 Ty=70
 9 x=(0.76*((T0-Tw)/(Ty-Tw)))
10 a=log(x,e)
11 t=((M**2/3)*c*(p**1/3))/(K*(pi**2)*((4*pi/3)**2/3))*a
12 print('T0=',T0,''',t=',t)

实验总结:

通过这次试验我收获了print()用于输出的几种用法,函数eval()的用法,chr()和ord()的用法。我觉得python比我想象中的还要高效,有用,切切实实地感受到python的难度和乐趣。但我感觉自己运用python代码还不够熟练,编写程序时如果不细心还会出现各种各样的问题,所以学好python还是要练习和细心。在练习的时候如果遇到问题还是要即时解决,比如问老师或者其他正在学python的同学,大家还可以去b站等网站找一些资源。希望大家都能够好好学python,学好python。

posted @ 2022-03-28 22:54  虞渊  阅读(21)  评论(4编辑  收藏  举报