<jupyter_start><jupyter_text>数学函数、字符串和对象 本章介绍Python函数来执行常见的数学运算- 函数是完成一个特殊任务的一组语句，可以理解为一个函数相当于一个小功能，但是在开发中，需要注意一个函数的长度最好不要超过一屏- Python中的内置函数是不需要Import导入的<jupyter_code>max(1,2,3,4,8,)
min(1,2,3,0,)<jupyter_output><empty_output><jupyter_text>max(1,2,3,4,4)<jupyter_code>max(1,2,3,4,4,)
pow(4,5,2)<jupyter_output><empty_output><jupyter_text>尝试练习Python内置函数  Python中的math模块提供了许多数学函数<jupyter_code>import math
a = 10
res = math.fabs(a)
print(res)
x=eval(input('输入值'))
c=2*x
zhi=math.fabs(c)
print(zhi)
b=2.5
res = math.ceil(b)
print(res)
b=2.5
res = math.floor(b)
print(res)
e=2
f = math.log(e,2)
print(f)<jupyter_output>1.0<jupyter_text>两个数学常量PI和e，可以通过使用math.pi 和math.e调用<jupyter_code>math.pi
math.e<jupyter_output><empty_output><jupyter_text>EP:- 通过math库，写一个程序，使得用户输入三个顶点(x,y)返回三个角度- 注意：Python计算角度为弧度制，需要将其转换为角度<jupyter_code>import math

a =eval(input('边'))
b =eval(input('边'))
c =eval(input('边'))
A =math.acos((a*a-b*b-c*c)/(-2*b*c))
B =math.acos((b*b-a*a-c*c)/(-2*a*c))
C =math.acos((c*c-b*b-a*a)/(-2*a*b))
d=math.degrees(A)
f=math.degrees(B)
e=math.degrees(C)
print(d,f,e)
x1 = 0
y1 = 0
x2 = 1
y2 = 0
x3 = 0
y3 = 0
a=((x2-x3)**2+(y2-y3)**2)**0.5
b=((x1-x3)**2+(y1-y3)**2)**0.5
a=((x3-x2)**2+(y3-y3)**2)**0.5
A =math.acos((a*a-b*b-c*c)/(-2*b*c))
B =math.acos((b*b-a*a-c*c)/(-2*a*c))
C =math.acos((c*c-b*b-a*a)/(-2*a*b))
d=math.degrees(A)
f=math.degrees(B)
e=math.degrees(C)
print(d,f,e)
x1,y1 = eval(input())<jupyter_output>1,2<jupyter_text>字符串和字符- 在Python中，字符串必须是在单引号或者双引号内，在多段换行的字符串中可以使用“”“- 在使用”“”时，给予其变量则变为字符串，否则当多行注释使用  ASCII码与Unicode码- - -<jupyter_code>##函数ord、chr
#- ord返回ASCII值
#- chr 返回字符
ord('a')
chr(97)<jupyter_output><empty_output><jupyter_text>EP:- 利用ord与chr进行简单邮箱加密<jupyter_code>chr(1)+chr(2)+chr(3)+chr(4)+chr(5)<jupyter_output><empty_output><jupyter_text>转义序列 \- a = "He said,"Johon's program is easy to read"- 转掉它原来的意思- 一般情况下只有当语句与默认方法相撞的时候，就需要转义<jupyter_code>c=" cy 'is' mei"
print(c)
#1.三引号和单双引号的区别是
#- 三引号可以使用换行，单双引号
#- 三引号如果不加变量的话，代表是注释（可以换行注释）
#2.单/双引内不可以加入单双，但可以加入双单
#3.如果非要头铁，可以使用“\”(转义字符)表示转掉他原来意思<jupyter_output><empty_output><jupyter_text>高级print- 参数 end： 以什么方式结束打印- 默认换行打印<jupyter_code>print('cy',end='--')
print('haha')
print('cy','is','haha',sep='***')
print('mei')<jupyter_output>cy***is***haha
mei<jupyter_text>函数str- 将类型强制转换成字符串类型- 其他一些以后会学到(list,set,tuple...)  字符串连接操作- 直接使用 “+” - join() 函数   EP：- 将 “Welcome” “to” "Python" 拼接- 将int型 100 与 “joker is a bad man” 拼接- 从控制台读取字符串> 输入一个名字返回夸奖此人<jupyter_code>print('welcome'+'to'+'python')
a=100
str(a)
print('100'+'joker is a bad man')
name=input('name')
print(name,'mei')<jupyter_output>namecy
cy mei<jupyter_text>实例研究：最小数量硬币- 开发一个程序，让用户输入总金额，这是一个用美元和美分表示的浮点值，返回一个由美元、两角五分的硬币、一角的硬币、五分硬币、以及美分个数 - Python弱项，对于浮点型的处理并不是很好，但是处理数据的时候使用的是Numpy类型  id与type- id 查看内存地址，在判断语句中将会使用- type 查看元素类型  其他格式化语句见书  Homework- 1<jupyter_code>import math
r=eval(input('输入顶点到中心的距离'))
s=2 * r * (math.sin(math.pi/5))
area = 5 * s *s/(4*math.tan(math.pi/5))
c=area
print(area)<jupyter_output>输入顶点到中心的距离5.5
71.923649044821<jupyter_text>- 2<jupyter_code>x1,y1=eval(input('输入一个经度'))
x2,y2=eval(input('输入一个纬度'))
c1=math.sin(math.radians(x1))*math.sin(math.radians(x2))+math.cos(math.radians(x1))*math.cos(math.radians(x2))*math.cos(math.radians(y1-y2))
d=6371.01*math.acos(c1) 
print(d,'km')<jupyter_output>输入一个经度39.55,-116.25
输入一个纬度41.5,87.37
10691.79183231593 km<jupyter_text>- 3<jupyter_code>s=eval(input('输入边'))
area1=(5*pow(s,2))
area2=4*math.tan(math.pi/5)
area=area1/area2
print(area)<jupyter_output>输入边5.5
52.044441367816255<jupyter_text>- 4<jupyter_code>s=eval(input('输入边'))
n=eval(input('输入边数'))
area1=(n*pow(s,2))
area2=4*math.tan(math.pi/n)
area=area1/area2
print(area)<jupyter_output>输入边6.5
输入边数5
72.69017017488386<jupyter_text>- 5<jupyter_code>x=eval(input('请输入整数'))
chr(x)<jupyter_output>请输入整数69<jupyter_text>- 6<jupyter_code>name=(input('请输入姓名'))
time=eval(input('一周工作时间'))
dis=eval(input('请输入联邦预扣税率'))
baochou=eval(input('每小时报酬'))
zhou=eval(input('州预扣税率'))
pay=time * baochou
kou1=pay*dis
kou2=pay*zhou
kouz=kou1+kou2
money=pay-kouz

print('employee name:',name)
print('hours worked:',time)
print('pay rate','$',baochou)
print('gross,pay','$',pay)
print('Deductions:')
print('federal withholding(20.0%):','$',kou1)
print('state withholding(9.0%):','$',kou2)
print('total deduction:','$',kouz)
print('net pay: $',money)<jupyter_output>请输入姓名simth
一周工作时间10
请输入联邦预扣税率0.2
每小时报酬9.75
州预扣税率0.02
employee name: simth
hours worked: 10
pay rate $ 9.75
gross,pay $ 97.5
Deductions:
federal withholding(20.0%): $ 19.5
state withholding(9.0%): $ 1.95
total deduction: $ 21.45
net pay: $ 76.05<jupyter_text>- 7<jupyter_code>x=3125
a=x%312
b=x//10%31
c=x//100%3
d=x//1000
print(a,b,c,d)<jupyter_output>5 2 1 3<jupyter_text>- 8 进阶：> 加密一串文本，并将解密后的文件写入本地保存<jupyter_code>a=chr(ord('c')*2)+chr(ord('y')-3)+chr(ord('最')+4)+chr(ord('优')*1)+chr(ord('秀')-2)
print(a)
a=ord('chr(12)'+'c')+ord('chr(13)'+'b')
print(a)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.2188331627430911, 'fraction_numerical': 0.06366427840327533, 'mean_word_length': 9.243186582809225, 'pattern_counts': {'":': 0, '<': 62, '<?xml version=': 0, '>': 64, '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': '18', 'dir': 'jupyter-structured-clean-dedup', 'id': '290293', 'license': 'Apache-2.0', 'n_tokens_mistral': 3099, 'n_tokens_neox': 3126, 'n_words': 265, 'path': '7.17.ipynb', 'repo_name': 'cyslime/python1', 'size': '4885'}