<jupyter_start><jupyter_text>数学函数、字符串和对象 本章介绍Python函数来执行常见的数学运算- 函数是完成一个特殊任务的一组语句，可以理解为一个函数相当于一个小功能，但是在开发中，需要注意一个函数的长度最好不要超过一屏- Python中的内置函数是不需要Import导入的<jupyter_code>abs(-.10)
max([1,2,3,4])
pow(2,2,2)
a,b,c=eval(input("输入三个数字,以,分隔"))
choose_method=input("请选择你要执行的方式:max,min,pow2_sum")
if choose_method=="max":
    max_=max(a,b,c)
    print ("最大值为"+str( max_))
elif choose_method=="min":
    min_=min(a,b,c)
    print ("最小值为"+str( min_))
elif choose_method=="pow2_sum":
    pow_sum_ = pow(a,2) + pow(b,2) + pow(c,2)
    print ("幂和为"+str(pow_sum_))<jupyter_output>输入三个数字,以,分隔1,2,3
请选择你要执行的方式:max,min,pow2_summax
最大值为3<jupyter_text>尝试练习Python内置函数  Python中的math模块提供了许多数学函数<jupyter_code>import math
math.fabs(2)
import math
math.ceil(-0.9)
import math
math.floor(2.1)
import math
math.exp(1)
import math
math.exp(1)
import random
random_num=random.random()/255
res=1./(1.+math.exp(-random_num))
round(res)
import math
math.log(1)
import math
math.radians(90)
import math
math.pi
import matplotlib.pyplot as plt
import numpy as np
image=plt.imread(" ")
plt.imshow(image/math.sin(90))<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("输入定点A坐标"))
x2,y2 = eval(input("输入定点B坐标"))
x3,y3 = eval(input("输入定点C坐标"))
a=math.sqrt((x2-x3)**2+(y2-y3)**2)
b=math.sqrt((x3-x1)**2+(y3-y1)**2)
c=math.sqrt((x2-x1)**2+(y2-y1)**2)
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*b*b))
print(math.degrees(A),math.degrees(B),math.degrees(C))<jupyter_output>输入定点A坐标(1,2)
输入定点B坐标(2,3)
输入定点C坐标(3,2)
45.00000000000001 89.99999999999999 60.00000000000001<jupyter_text>字符串和字符- 在Python中，字符串必须是在单引号或者双引号内，在多段换行的字符串中可以使用“”“- 在使用”“”时，给予其变量则变为字符串，否则当多行注释使用<jupyter_code>a="""d"""
type(a)<jupyter_output><empty_output><jupyter_text>ASCII码与Unicode码- - -   函数ord、chr- ord 返回ASCII码值- chr 返回字符<jupyter_code>ord("翟")#接收或者返回十进制
chr(111)
chr(ord("a"))
ord(" ")
title = "DN By zy"
for i in title:
    print(chr(ord(i)+10))<jupyter_output>N
X
*
L

*

<jupyter_text>EP:- 利用ord与chr进行简单邮箱加密<jupyter_code>emai="60<EMAIL>"
for i in title:
    print(chr(ord(i)+10),end=" ")
emai="<EMAIL>"
result=" "
for i in title:
    result=result+chr(ord(i)+10)
print(result)
import hashlib
str_="this is a md5 test"
h1=hashlib.md5()
h1.update(str_.encode(encoding="utf-8"))
print("MD5加密前为:"+str_)
print("MD5加密后为:"+h1.hexdigest())
import hashlib
dataset="2accb8ae19138b5de45a0e71e1ac3482"
password=input(">>")
hl=hashlib.md5()
hl.update(str_.encode(encoding="utf-8"))
if dataset==hl.hexadecimal:
    print("success")
else:
    print("faild")<jupyter_output>>>sdsadsa<jupyter_text>转义序列 \- a = "He said,"Johon's program is easy to read"- 转掉它原来的意思- 一般情况下只有当语句与默认方法相撞的时候，就需要转义<jupyter_code>print("a","b",sep="",end="!")<jupyter_output>ab!<jupyter_text>高级print- 参数 end： 以什么方式结束打印- 默认换行打印  函数str- 将类型强制转换成字符串类型- 其他一些以后会学到(list,set,tuple...)  字符串连接操作- 直接使用 “+” - join() 函数<jupyter_code>"a"+"b"
"!".join("abcd")
"!".join(["1","2","3","4"])
"!"+"a"+"!"+"b"<jupyter_output><empty_output><jupyter_text>EP：- 将 “Welcome” “to” "Python" 拼接- 将int型 100 与 “joker is a bad man” 拼接- 从控制台读取字符串> 输入一个名字返回夸奖此人<jupyter_code>"Welcome "+"to"+" Python"<jupyter_output><empty_output><jupyter_text>实例研究：最小数量硬币- 开发一个程序，让用户输入总金额，这是一个用美元和美分表示的浮点值，返回一个由美元、两角五分的硬币、一角的硬币、五分硬币、以及美分个数 - Python弱项，对于浮点型的处理并不是很好，但是处理数据的时候使用的是Numpy类型  id与type- id 查看内存地址，在判断语句中将会使用- type 查看元素类型<jupyter_code>num=1
while num!=0:
    num_=0.1
    print(num)
    
type(True)
a=1
id(a)
b=2
id(b)
a=1
b=2
print(id(a),id(b))<jupyter_output>1348627936 1348627968<jupyter_text>其他格式化语句见书  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))
print("五边形面积为"+str(round(area,2)))<jupyter_output>输入五边形顶点到中心的距离5.5
五边形面积为71.92<jupyter_text>- 2<jupyter_code>import math
radius=6371.01
x1,y1=eval(input("输入地球表面第一个点的左边"))
x2,y2=eval(input("输入地球表面第二个点的左边"))
d=radius*math.acos(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)))
print(d)<jupyter_output>输入地球表面第一个点的左边39.55,-116.25
输入地球表面第二个点的左边41.5,87.37
10691.79183231593<jupyter_text>- 3<jupyter_code>import math
s=eval(input("输入五角星边长"))
area=(5*s**2)/(4*math.tan(math.pi/5))
print("五角星面积为"+str(round(area,14)))<jupyter_output>输入五角星边长5.5
五角星面积为52.04444136781625<jupyter_text>- 4<jupyter_code>import math
n=eval(input("输入多边形边数"))
s=eval(input("输入多边形边长"))
area=(n*s**2)/(4*math.tan(math.pi/n))
print("五角星面积为"+str(area))<jupyter_output>输入多边形边数5
输入多边形边长6.5
五角星面积为72.69017017488386<jupyter_text>- 5<jupyter_code>print(chr(69))<jupyter_output>E<jupyter_text>- 6<jupyter_code>name=str(input("输入雇员姓名"))
hours=eval(input("输入一周工作时间"))
pay=eval(input("每小时报酬"))
federal=eval(input("输入联邦预扣税率"))
state=eval(input("输入州预扣税率"))
money=hours*pay
rate1=money*federal
rate2=money*state
money1=money-rate1-rate2
print("雇员姓名:"+name)
print("一周工作时间:"+str(hours))
print("每小时报酬:"+str(pay))
print("税前工资:"+str(money))
print("联邦预扣税率:"+str(rate1))
print("州预扣税率"+str(rate2))
print("税款总额"+str(rate2+rate1))
print("实发工资:"+str(money1))<jupyter_output>输入雇员姓名Smith
输入一周工作时间10
每小时报酬9.75
输入联邦预扣税率0.2
输入州预扣税率0.09
雇员姓名:Smith
一周工作时间:10
每小时报酬:9.75
税前工资:97.5
联邦预扣税率:19.5
州预扣税率8.775
税款总额28.275
实发工资:69.225<jupyter_text>- 7<jupyter_code>num=eval(input("输入一个四位整数"))
a=num%10
b=num//10%10
c=num//100%10
d=num//1000
print(str(a)+str(b)+str(c)+str(d))<jupyter_output>输入一个四位整数3125
5213
{'fraction_non_alphanumeric': 0.19894717734616083, 'fraction_numerical': 0.0677073879106916, 'mean_word_length': 9.318352059925093, 'pattern_counts': {'":': 3, '<': 58, '<?xml version=': 0, '>': 63, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 3, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '17', 'dir': 'jupyter-structured-clean-dedup', 'id': '351202', 'license': 'Apache-2.0', 'n_tokens_mistral': 3408, 'n_tokens_neox': 3501, 'n_words': 282, 'path': '9.11.ipynb', 'repo_name': 'zhaiyanzydfssf/test', 'size': '5525'}