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

实验任务1:

#print输出的几种用法

#用法1:用于输出单个字符串或单个变量
print('hey, u')

#用法2:用于输出多个数据项,用逗号分隔
print('hey','u')
x,y,z = 1,2,3
print(x,y,z)

#用法3:用户混合字符串和变量值
print('x1 = %d, y1 = %d, z1 = %d' %(x,y,z)) #方式1:传统C风格
print('x1 = {}, y1 = {}, z1 = {}'.format(x,y,z)) #方式2: s.format()方法
print((f'x1 = {x}, y1 = {y}, z1 = {z}') # 方式3:f-string方式

#其他:输出后是否换行
print(x) #默认输出后换一行
print(y)
print(z)

print(x,end=' ') #输出结束后,不换行;通过end指定数据项之间的分隔符
print(y,end=' ')
print(z)

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

x1, y1 = 1.2, 3.57

x2, y2 = 2.26, 8.7

#输出1

print('{:-^40}'.format('输出1'))   #{:^40}控制输出数据格式:宽度占40列,居中对齐,空白处用-补齐

print('x1 = {}, y1 = {}'.format(x1,y1))

print('x2 = {}, y2 = {}'.format(x2,y2))

#输出2

print('{:-^40}'.format('输出2'))  #{:^40}控制输出数据格式:宽度占40列,居中对齐,空白处用-补齐

print('x1 = {:.1f}, y1 = {:.1f}'.format(x1,y1))   #{:.1f}控制小数输出精度,保留一位小数

print('x2 = {:.1f}, y2 = {:.1f}'.format(x2,y1))

#输出3

print('{:-^40}'.format('输出3'))   #{:^40}控制输出数据格式:宽度占40列,居中对齐,空白处用-补齐

print('x1 = {:<15.1f}, y1 = {:<15.1f}'.format(x1,y1))    #{:<15.1f}控制输出数据宽度占15列,小数部分占1列,左对齐,空白处默认补空格

print('x2 = {:<15.1f}, y2 = {:<15.1f}'.format(x2,y2)) 

#输出4

print('{:-^40}'.format('输出3'))   #{:-^40}控制输出数据格式;宽度占40列,居中对齐,空白处用-补齐

print('x1 = {:>15.1f}, y1 = {:>15.1f}'.format(x1,y1))  #{:>15.1f}控制输出数据宽度占15列,小数部分占1列,左对齐,空白处默认补空格

print('x2 = {:>15.1f}, y2 = {:>15.1f}'.format(x2,y2))

# 使用f-string方式输出数据并控制格式

name1, age1 = 'Bill', 19

name2, age2 = 'Hellen', 18

title = 'Personal Information'

print(f'{title:=^40}')    #输出title值,=^40指定输出宽度占40列,居中对齐,用=填充空白

print(f'name: {name1:10},age: {age1:3}')   #10和3分别指定数据项输出宽度

print(f'name: {name2:10},age: {age2:3}')

print(40*'=')

实验总结:知识点概括:三种格式化字符串的方式  '%d'%()  str.format()   f''

        print('{:-^40}'.format('居中的内容')

 <代表左对齐  >代表右对齐    ^代表居中对齐

实验任务2:

#内置函数eval()

#功能:把字符串转换成python的表达式

#理解:相当于把圆括号里的内容,俩侧的引号去掉

r1 = eval('1+2')  #相当于r1 = 1+2

print(type(r1),r1)

r2 = eval('[1, 6, 7.5]')   #相当于r2 = ['1, 6, 7.5']

print(type(r2),r2)

r3 = eval('"python"')   #相当于r3 ="python"

print(type(r3),r3)

r4 = eval('7,42')   #相当于r4 = 7,43

print(type(r4),r4)

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

x,y = eval(input('Enter two oprands:'))   #输出的俩个操作数之间用逗号分隔(英文半角输入法下的逗号)

ans  = x+y

print(f'{x} + {y} = {ans}')

print(f'{type(x)} + {type(y)} = {type(ans)}')

实验总结:eval()函数括号里的必须是字符串,才可对应转换,通常情况与input连用

 

实验任务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}')

实验总结:浮点数计算时可能会出现小数点位数不确定的情况,

使用from Decimal import decimal

x = Decimal()+ Decimal()的方式可以解决该问题

 

实验任务4:

#字符编码相关

#chr()返回unicode编码对应的字符

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

#ord()返回字符的unicode编码

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编码对应的字符转化出来

  这个我就很不李姐为什么把代码copy到pycharm上运行会报错,最后重新打一遍就有可以了?求大佬指点迷津

实验任务5:

#简单的数学计算

from math import sqrt

n = float(input('输入一个数字:'))

#python中计算开平方的俩种计算方式

ans1 = sqrt(n)

ans2 = n**0.5

print('%.2f的平方根是:%.2f' %(n, ans1))   #以传统C风格方式输出

print('{:.2f}的平方根是:{:.2f}'.format(n, ans2))   #使用字符串format()方法输出

print(f'{n:.2f}的平方根是:{ans2:.2f}')   #使用f-string方式输出

#神奇的pi,与大饼

from math import pi

text = '''

        好奇心是人的天性。

        理想情况下,学习新东西是让人愉快的事情。

        但学校里的学习似乎有点像苦役。

        有时候,需要画一个大饼,每尝试学一些新鲜的,才会每天变得更好一点点。

       '''

print(text)

r = float(input('给学习画一个大饼,大饼要做的很大,半径要那么大:'))

circle = 2*pi*r

print(f'绕起来,大饼的圆周有那么长,{circle},够不够激发你探索未知的动力...')

 实验总结:平方根的俩种表示方法:1.sqrt() 2.**0.5,还有画大饼的代码之前见过一次有一点印象,再次看到又熟悉了一下

实验任务6:

#一个简单的算术运算程序

number = int(input('Enter a number:'))

result = number**365

print(number,'的365次方:',result)

 

实验总结:python里的平方最好用**来表示,因为^在python里有其他的含义,例如上文我们所提到的居中对齐,为了编译时减少不必要错误,建议用**,本人亲测

实验任务7:完美煮蛋

import math

p, c = 1.038, 3.7

k = 5.4*10**(-3)

M1=67

Tw, Ty = 100, 70

T0 = eval(input('Enter a number:'))

t1 = (M1**(2/3) * c * p**(1/3))/(k * math.pi**2 * (4 * math.pi / 3)**(2/3))

t2 = math.log(0.76*(T0-Tw)/(Ty-Tw))

t3 = t1 * t2

minute = t3 // 60

second = t3 % 60

print('T0 = {}°C'.format(T0))

print('t = {}分{:.2f}秒'.format(minute, second))   #保留小数点后俩位

实验总结:对于复杂的表达式,我们可以通过分解的方式来简化,减少代码出错的概率,同时还可以增强代码的可读性。

摄氏度的表达用到了插入的方式,小数点的保留格式{:.1f}

posted @ 2022-03-30 13:49  朗格里格朗  阅读(52)  评论(4编辑  收藏  举报