<jupyter_start><jupyter_text>数学函数、字符串和对象 本章介绍Python函数来执行常见的数学运算- 函数是完成一个特殊任务的一组语句，可以理解为一个函数相当于一个小功能，但是在开发中，需要注意一个函数的长度最好不要超过一屏- Python中的内置函数是不需要Import导入的  尝试练习Python内置函数  Python中的math模块提供了许多数学函数<jupyter_code>import math
a = 10
res = math.fabs(a)
print(res)
x = eval(input('x'))
res = math.fabs(2*x)
print(res)
b =2.5
res = math.ceil(b)
print(res)
c = 3
res = math.exp(c)
print(res)
e = 2
f = math.log(e)
print(f)
math.sqrt(4)<jupyter_output><empty_output><jupyter_text>两个数学常量PI和e，可以通过使用math.pi 和math.e调用  EP:- 通过math库，写一个程序，使得用户输入三个顶点(x,y)返回三个角度- 注意：Python计算角度为弧度制，需要将其转换为角度<jupyter_code>import math
x1,y1 = eval(input())
x2,y2 = eval(input())
x3,y3 = eval(input())
a = math.sqrt((x2-x3)**2+(y2-y3)**2)
b = math.sqrt((x1-x3)**2+(y1-y3)**2)
c = math.sqrt((x1-x2)**2+(y1-y2)**2)
A = math.degrees(math.acos((a*a-b*b-c*c)/(-2*b*c)))
B = math.degrees(math.acos((b*b-a*a-c*c)/(-2*a*c)))
C = math.degrees(math.acos((c*c-b*b-a*a)/(-2*a*b)))
print(round(A))
print(round(B))
print(round(C))
"""joker
is
a
good
man"""
##""""""三引号可以当文本使用
##当你不给予变量的时候，三引号当注释用
c = "joker 'old' a"
print(c)<jupyter_output>joker 'old' a<jupyter_text>字符串和字符- 在Python中，字符串必须是在单引号或者双引号内，在多段换行的字符串中可以使用“”“- 在使用”“”时，给予其变量则变为字符串，否则当多行注释使用1、三引号和单双引号的区别是；-、三引号内可以使用换行，单/双引号-三引号如果不加变量的话，代表是注释（可以换行注释）2、单/双引号内是不可以加入单/双引号的，但是可以加入双/单3、如果非要头铁，可以使用"/"（转义字符），表示转掉它原来的意思  ASCII码与Unicode码- - -<jupyter_code>ord('a')
chr(97)<jupyter_output><empty_output><jupyter_text>函数ord、chr- ord 返回ASCII码值- chr 返回字符<jupyter_code>126-97<jupyter_output><empty_output><jupyter_text>EP:- 利用ord与chr进行简单邮箱加密  转义序列 \- a = "He said,"Johon's program is easy to read"- 转掉它原来的意思- 一般情况下只有当语句与默认方法相撞的时候，就需要转义  高级print- 参数 end： 以什么方式结束打印- 默认换行打印<jupyter_code>print()<jupyter_output><empty_output><jupyter_text>函数str- 将类型强制转换成字符串类型- 其他一些以后会学到(list,set,tuple...)  字符串连接操作- 直接使用 “+” - join() 函数   EP：- 将 “Welcome” “to” "Python" 拼接- 将int型 100 与 “joker is a bad man” 拼接- 从控制台读取字符串> 输入一个名字返回夸奖此人<jupyter_code>print('welcom','to','Python')   
a = 100
str(a)
print('100'+'joker is a bad man')<jupyter_output>100joker is a bad man<jupyter_text>实例研究：最小数量硬币- 开发一个程序，让用户输入总金额，这是一个用美元和美分表示的浮点值，返回一个由美元、两角五分的硬币、一角的硬币、五分硬币、以及美分个数 - Python弱项，对于浮点型的处理并不是很好，但是处理数据的时候使用的是Numpy类型  id与type- id 查看内存地址，在判断语句中将会使用- type 查看元素类型  其他格式化语句见书  Homework- 1<jupyter_code>r = eval(input('请输入半径'))
s = 2*r*math.sin(math.pi/5)
Area = 5*s*s/(4*math.tan(math.pi/5))
print(round(Area,2))<jupyter_output>请输入半径5.5
71.92<jupyter_text>- 2<jupyter_code>x1,y1 = eval(input('请输入顶点'))
x2,y2 = eval(input('请输入顶点'))
x1 = math.radians(x1)
x2 = math.radians(x2)
y1 = math.radians(y1)
y2 = math.radians(y2)
d = math.fabs(6371.01*math.acos(math.sin(x1)*math.sin(x2)+math.cos(x1)*math.cos(x2)*math.cos(y1-y2)))
print(d)<jupyter_output>请输入顶点39.55,-116.25
请输入顶点41.5,87.37
10691.79183231593<jupyter_text>- 3<jupyter_code>s = eval(input('请输入边长'))
area = 5*s**2/(4*math.tan(math.pi/5))
print(area)<jupyter_output>请输入边长5.5
52.044441367816255<jupyter_text>- 4<jupyter_code>n = eval(input('请输入多边形'))
s = eval(input('请输入边长'))
area = n*s**2/(4*math.tan(math.pi/n))
print(area)<jupyter_output>请输入多边形5
请输入边长6.5
72.69017017488386<jupyter_text>- 5<jupyter_code>a = eval(input('输入0到127之间的任意数'))
chr(a)<jupyter_output>输入0到127之间的任意数69<jupyter_text>- 6<jupyter_code>Name = input('Employee Name')
hours = eval(input('Hours Worked'))
rate = eval(input('Pay Rate'))
Fwr = eval(input('Federal Withholding rate'))
Swr = eval(input('State Withholding rate'))
GP = hours*rate
FW= GP*Fwr
SW= GP*Swr
TD = FW+SW
NP = GP-TD
print('Employee Name:','$',Name)
print('Hours Worked:','$',hours)
print('Pay Rate:','$',round(rate))
print('Gross Pay:','$',round(GP,2))
print('Federal Withholding(20.0%):','$',round(FW,2))
print('State Withholding(9.0%):','$',round(SW,2))
print('Total Deduction:','$',round(TD,2))
print('Net Pay:','$',round(NP,2))
c= 10*5.235652
print('$',round(c,2))<jupyter_output>$ 52.36<jupyter_text>- 7<jupyter_code>a = 3125
b = str(a)
b[: : -1]<jupyter_output><empty_output><jupyter_text>- 8 进阶：> 加密一串文本，并将解密后的文件写入本地保存<jupyter_code>a,b,c = input('请输入文本')
str(a)
str(b)
str(c)
d = chr(ord('a')+100)
e = chr(ord('b')+2)
f = chr(ord('c')*2)        
print(d,e,f)<jupyter_output>请输入文本为神马
Å d Æ
{'fraction_non_alphanumeric': 0.20352061731372076, 'fraction_numerical': 0.05329153605015674, 'mean_word_length': 7.901287553648069, 'pattern_counts': {'":': 0, '<': 48, '<?xml version=': 0, '>': 50, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '14', 'dir': 'jupyter-structured-clean-dedup', 'id': '655624', 'license': 'Apache-2.0', 'n_tokens_mistral': 2558, 'n_tokens_neox': 2614, 'n_words': 256, 'path': '201707104056+chenhe.ipynb', 'repo_name': 'duzichenhe/python', 'size': '4147'}