1.把y=0代入函數(shù)求出與x軸的交點坐標,把x=0代入函數(shù)求出與y軸的交點坐標。
創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供龍湖網站建設、龍湖做網站、龍湖網站設計、龍湖網站制作等企業(yè)網站建設、網頁設計與制作、龍湖企業(yè)網站模板建站服務,十年龍湖做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。
2.將兩個函數(shù)聯(lián)立得到二元一次方程組,求方程的解,得到交點坐標(x,y)。
3.把點代入函數(shù),若左邊=右邊,則該點在函數(shù)圖像上。
找了一圈NBA文字直播網站,發(fā)現(xiàn)手機版直播吧有現(xiàn)成的接口,直接返回json格式數(shù)據(jù)。那就是它了,聽我慢慢道來。
首先在電腦瀏覽器打開手機版直播吧,我用的是chrome瀏覽器,在Network中可以看到,它不停地用GET方式請求,這個地址會返回當前正在進行的所有類型比賽的基本情況,根據(jù)其中的type字段過濾掉非NBA比賽就OK了。其中最重要的是ID字段,之后的所有操作都需要用到。返回的數(shù)據(jù)如下所示:
{
"code": "2760624",
"second": "10",
"list": [
{
"id": "96233",
"sdate": "2017-04-20",
"time": "10:30",
"url": "/zhibo/nba/2017/042096233.htm",
"type": "basketball",
"start": "2017-04-20 10:30",
"home_team": "勇士",
"visit_team": "開拓者",
"home_score": "106",
"visit_score": "81",
"period_cn": "第4節(jié)\n01:30",
"from": "dc.live",
"code": "373",
"update": "13:13:37",
"big_score_1": "",
"big_score_2": ""
},
... # 省略了其它比賽的信息
]}12345678910111213141516171819202122232425
獲得所有正在進行的比賽ID后,點擊某一場比賽,進入文字直播頁面。首先請求頁面,其中XXXX是上一步獲取的id,它會返回一個數(shù)字,即max_sid。然后判斷該max_sid是否大于上次獲取的該值,如果大于,表示有新的直播文字,否則表示沒有。
如果max_sid大于上一次的值,通過請求(其中XXXX是今天的日期,格式為2017-04-20,YYYY是第一步中獲取的id),返回這場比賽的基本情況,比如比分,是第幾節(jié)等,如下所示:
{ "id": "96233", "home_team": "勇士", "visit_team": "開拓者", "home_score": "110", "visit_score": "81", "period_cn": "第4節(jié)結束", ...}123456789
最后,就可以獲取直播的文字了。請求(其中XXXX是比賽id,YYYY是max_sid),它會返回最新的直播文字,其中包括一條或多條直播文字,如下所示:
[
{ "live_id": "8769977", "live_text": "@仙女最庫阿-:庫里正負值最高32我去?。。?!", "home_score": "110", "visit_score": "81", "pid_text": "比賽結束", ...
}, ... # 可能有多條直播文字]1234567891011
可以看到,該請求返回的信息中沒有比賽剩余時間、主隊和客隊等信息,所以每次獲取直播文字之前,需要多一次請求,獲得比賽的基本信息。
基本流程就是這樣,非常簡單,一共就四個GET請求,返回四串json,用requests庫請求,然后解析搞定。
先定義一個Match類,表示當前正在進行的每一場比賽。
# match.pyclass Match:
def __init__(self, **kwargs):
self.id = kwargs['id']
self.home_team = kwargs['home_team']
self.visit_team = kwargs['visit_team']
self.home_score = kwargs['home_score']
self.visit_score = kwargs['visit_score']
self.period_cn = kwargs['period_cn'].replace('\n', ' ') def __repr__(self):
return '{self.id} {self.home_team} {self.home_score} - {self.visit_score} {self.visit_team} {self.period_cn}'.format(self=self)12345678910111213
再定義一個TextLiving類,表示獲取的每一條文字直播。
# text_living.pyclass TextLiving:
def __init__(self, match_info, **kwargs):
self.home_team = match_info['home_team']
self.visit_team = match_info['visit_team']
self.period_cn = match_info['period_cn']
self.live_text = kwargs['live_text']
self.home_score = kwargs['home_score']
self.visit_score = kwargs['visit_score'] def __repr__(self):
return '{self.home_team} {self.home_score} - {self.visit_score} {self.visit_team} {self.period_cn}\n{self.live_text}\n{sep}'.format(self=self, sep='*'*60)12345678910111213
接著創(chuàng)建zhibo8_api.py模塊,用于獲取相關數(shù)據(jù)。
# 當前正在進行的比賽Living_Matches_Url = ''# 某一場比賽當前的max_sidMatch_Max_Sid_Url = ''# 某一場比賽最新文字直播Match_Living_Text_Url = ''# 某一場比賽當前的基本情況Match_Info_Url = ''def get_living_matches():
response = requests.get(Living_Matches_Url)
result = json.loads(response.text)
matches = [Match(**match) for match in result['list'] if match['type'] == 'basketball' and match['period_cn'] != '完賽'] return matchesdef get_match_max_sid(match_id):
response = requests.get(Match_Max_Sid_Url % match_id) if response.status_code == requests.codes.ok: return int(response.text)def get_match_living(match_id, max_sid):
# 先獲取比賽的當前情況,再獲取最新文字直播
match_info = get_match_info(match_id)
response = requests.get(Match_Living_Text_Url % (match_id, max_sid))
texts = [] if response.status_code == requests.codes.ok:
result = json.loads(response.text)
texts = [TextLiving(match_info, **living) for living in result] return textsdef get_match_info(match_id):
today = datetime.now().strftime('%Y-%m-%d')
response = requests.get(Match_Info_Url % (today, match_id))
match_info = json.loads(response.text) return match_info123456789101112131415161718192021222324252627282930313233343536373839404142
最后,在main.py模塊中啟動程序,開始直播!
def get_living_matches():
matches = zhibo8_api.get_living_matches() for match in matches:
print(match) return matchesdef get_watch_match(matches):
match_id = input('請輸入比賽ID:') for match in matches: if match.id == match_id: return match else:
print('輸入的ID不正確') return Nonedef main_loop():
matches = get_living_matches() if len(matches) == 0:
print('當前沒有比賽!??!') return
match = get_watch_match(matches) if not match:
print('沒去找到該比賽') return
current_match_max_sid = -1
while True:
match_max_sid = zhibo8_api.get_match_max_sid(match.id) if not match_max_sid:
print('沒有直播數(shù)據(jù)') return
if current_match_max_sid == match_max_sid: continue
current_match_max_sid = match_max_sid
text_livings = zhibo8_api.get_match_living(match.id, current_match_max_sid) for text in text_livings:
print(text)if __name__ == '__main__':
main_loop()
具體如下:
聯(lián)立方程組,即y=3x-4=y=-3x+3即3x-4=-3x+3。
6x=7,x=7/6。
y=-1/2。
答案 交點(7/6,-1/2)。
首先要理解,函數(shù)是發(fā)生在集合之間的一種對應關系。然后,要理解發(fā)生在A、B之間的函數(shù)關系有且不止一個。最后,要重點理解函數(shù)的三要素。
函數(shù)的對應法則通常用解析式表示,但大量的函數(shù)關系是無法用解析式表示的,可以用圖像、表格及其他形式表示。
在一個變化過程中,發(fā)生變化的量叫變量(數(shù)學中,變量為x,而y則隨x值的變化而變化),有些數(shù)值是不隨變量而改變的,我們稱它們?yōu)槌A俊?/p>
把兩個函數(shù)的y和等號去掉。讓剩下的部分用一個等號連接起來。解出來的x就是橫坐標。
再把x帶入兩個函數(shù)任意一個,解出來的y就是縱坐標。
求函數(shù)的交點坐標就是把兩個函數(shù)關于x的一方相等 注 另一邊未知數(shù)的系數(shù)必需為1且沒有其他常數(shù)
例 y=x與y=2x 就是x=2x
網站題目:python求函數(shù)交點 函數(shù)如何求交點
當前網址:http://jinyejixie.com/article42/dochhhc.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站收錄、做網站、自適應網站、網站內鏈、網站制作、Google
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)