當前位置:首頁 » 編程語言 » pythonrule

pythonrule

發布時間: 2024-03-22 16:12:42

A. python有哪些好用的語言翻譯方法

1 import re
2 import urllib.parse, urllib.request
3 import hashlib
4 import urllib
5 import random
6 import json
7 import time
8 from translate import Translator

非python自帶的庫,如python google translator,需要手動安裝,命令pip install mole_name。

1. 網路翻譯

1 appid = 'your_appid'
2 secretKey = 'your_secretKey'
3 url_ = 'http://api.fanyi..com/api/trans/vip/translate'
4
5 def translateBai(text, f='ja', t='zh'):
6 salt = random.randint(32768, 65536)
7 sign = appid + text + str(salt) + secretKey
8 sign = hashlib.md5(sign.encode()).hexdigest()
9 url = url_ + '?appid=' + appid + '&q=' + urllib.parse.quote(text) + '&from=' + f + '&to=' + t + \
10 '&salt=' + str(salt) + '&sign=' + sign
11 response = urllib.request.urlopen(url)
12 content = response.read().decode('utf-8')
13 data = json.loads(content)
14 result = str(data['trans_result'][0]['dst'])
15 print(result)

參數:text--待翻文本,f--初始語言,t--目標語言,後面方法類似。

2. 有道翻譯

1 url_you = 'http://fanyi.you.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=' \
2 'http://www.you.com/'
3 dict = {}
4 dict['type'] = 'AUTO'
5 dict['doctype'] = 'json'
6 dict['xmlVersion'] = '1.8'
7 dict['keyfrom'] = 'fanyi.web'
8 dict['ue'] = 'UTF-8'
9 dict['action'] = 'FY_BY_CLICKBUTTON'
10 dict['typoResult'] = 'true'
11
12 def translateYou(text):
13 global dict
14 dict['i'] = text
15 data = urllib.parse.urlencode(dict).encode('utf-8')
16 response = urllib.request.urlopen(url_you, data)
17 content = response.read().decode('utf-8')
18 data = json.loads(content)
19 result = data['translateResult'][0][0]['tgt']
20 print(result)

參數主要由字典dict指定,發現沒有地方可以指定語言(可能是我沒找到),測試結果是不管輸入什麼語言的文本,輸出均是中文。

3. 谷歌翻譯

1 url_google = 'http://translate.google.cn'
2 reg_text = re.compile(r'(?<=TRANSLATED_TEXT=).*?;')
3 user_agent = r'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) ' \
4 r'Chrome/44.0.2403.157 Safari/537.36'
5
6 def translateGoogle(text, f='ja', t='zh-cn'):
7 values = {'hl': 'zh-cn', 'ie': 'utf-8', 'text': text, 'langpair': '%s|%s' % (f, t)}
8 value = urllib.parse.urlencode(values)
9 req = urllib.request.Request(url_google + '?' + value)
10 req.add_header('User-Agent', user_agent)
11 response = urllib.request.urlopen(req)
12 content = response.read().decode('utf-8')
13 data = reg_text.search(content)
14 result = data.group(0).strip(';').strip('\'')
15 print(result)

和上面兩種方法一樣,採用的是訪問網頁的形式來進行翻譯。
還有一種是利用python谷歌翻譯模塊Translator:
1 def translateGoogle2(text):
2 result = translator.translate(text)
3 print(result)

4. 測試代碼
測試過程:
翻譯5個字串為一個小的單位,輸出消耗時間;
循環10次為一個大的單位,輸出消耗時間;
對不同的語言字串和循環次數做過多次測試,發現情況基本類似,所以這里選擇了10次。

1 text_list = ['こんにちは', 'こんばんは', 'おはようございます', 'お休(やす)みなさい', 'お元気(げんき)ですか']
2
3 time_ = 0
4 time_you = 0
5 time_google = 0
6 time_google2 = 0
7
8 for i in list(range(1, 11)):
9 time1 = time.time()
10 for text in text_list:
11 translateBai(text)
12 time2 = time.time()
13 print('網路翻譯第%s次時間:%s' % (i, time2 - time1))
14 time_ += (time2 - time1)
15
16 time1 = time.time()
17 for text in text_list:
18 translateYou(text)
19 time2 = time.time()
20 print('有道翻譯第%s次時間:%s' % (i, time2 - time1))
21 time_you += (time2 - time1)
22
23 time1 = time.time()
24 for text in text_list:
25 translateGoogle(text)
26 time2 = time.time()
27 print('谷歌翻譯第%s次時間:%s' % (i, time2 - time1))
28 time_google += (time2 - time1)
29
30 time1 = time.time()
31 for text in text_list:
32 translateGoogle2(text)
33 time2 = time.time()
34 print('谷歌2翻譯第%s次時間:%s' % (i, time2 - time1))
35 time_google2 += (time2 - time1)
36
37
38 print('網路翻譯時間:%s' % (time_ / 10))
39 print('有道翻譯時間:%s' % (time_you / 10))
40 print('谷歌翻譯時間:%s' % (time_google / 10))
41 print('谷歌2翻譯時間:%s' % (time_google2 / 10))

B. python編程,獲取一段序列的反向互補序列,需要多種方法

lt='CATGCATCGT'
def func1(liststr):
t=list(liststr);d=[]
dct={'A':'T','T':'A','C':'G','G':'C'}
for x in range(len(t)):
d.append(dct[t.pop()])
return d
其他的都簡單,1.直接字元串反向處理,再逐一翻譯;2.用正負數來處理,這個對於大量的任務可以提高效率;3.兩遍處理,True、False開關;4.列表內替換,然後反向;5.成對換位,不過效率低下; 6.還有就是直接的字元串替換,然後一個切片s[::-1]就OK了 ;
lt='CATGCATCGT'
lt=lt.replace('A','{A}').replace('T','{T}').replace('C','{C}').replace('G','{G}')
result=lt.format(A='T',T='A',C='G',G='C')[::-1]

C. python怎麼把很多單片語在一起

1. 如何用python實現「 如果英文單詞以輔音字母開始 所有連續的輔音字
先明確需求吧,不然做出來的都是無用功。需求不明確的話,會把人帶到溝里的。

1,連續的輔音字母絕橡?母音字母有5個:A、E、I、O、U,除了母音字母其它的就是輔音字母,連續的輔音字母包括很多,你說的是不是形如st, sh, dr, pr樣子的連續輔音字母?是的話就繼續第2步了。

2,那麼採用分治,先拆分你的需求,先找出「連續的輔音字母」,符合條件的必須是「除了a、e、i、o、u之外的輔音字母」,而且輔音字母數量必須大於1。

3,

3,指定匹配的正則表達式規則,也就是匹配模式。需要從字元串裡面匹配出符合要求的字母,再把字母放到另一個列表裡備用。

4,將符合要求的字母序列處理,把每個字母定位到其所屬的單詞,然後把它們分別移動到所屬單詞的末尾。

下面是實施的第一步:從每個單詞中篩選出以2個輔音開頭的單詞,並把這2個輔音摘出來

>>> import re

>>> STR = ['Alice', 'eline', 'index', 'OSCAR', 'Ulanda', 'kevin stone', 'Strause', 'Princess John', 'Blues Welly', 'claude Sean', 'grant Blackman', 'Amy T. Thomas', 'Frank Ouyang']

>>> len(STR)

13

>>> STR[0]

'Alice'

>>> STR[12]

'Frank Ouyang'

>>> range(13)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

>>> def strHandler(): #定義一個處理函數,專門篩選出雙輔音字母(不論大小寫)

i = 0

newList = []

while i < len(STR):

rule1 = repile(r'^[^aeiou]{2}',re.I) #正則式代碼釋義:匹配以非母音開頭的2個字母

x = re.match(rule1, STR[i]) #用re.match():只在字元串的開頭位置進行匹配

if x != None: # re.match()不為空則匹配成功,會返回一個對象

newList.append(x.group()) #從match對象用group()方法取出匹配到的值

i += 1 # 如果這次匹配失敗,則繼續讓while循環執行

return newList

>>> Y = strHandle(); Y

['St', 'Pr', 'Bl', 'cl', 'gr', 'Fr']

下一步就將Y裡面每個元素移動到它們各自所屬的單詞的末尾,有點復雜,需要更多時間來完成了 哈哈 ^@^
2. 怎麼把很多單片語合在一起,英語好的進
單詞這樣背 第一條,就是:一定要每次都大量地背。

因為自己不比別人聰明,所以背完單詞,別人忘掉五分之一,自己決不會比別人忘得少。然而,別人每天背十個單詞,自己卻可以背一百個,忘掉五分之一,還剩八十個,是別人最聰明狀態下的十倍。

每天一百個是最低限。其實背到後來您會發現這個要求並不高,一個月後,您可能自然而然地就背到三百或者五百。

這四百個要分成四組來背,上午三十,中午十個,下午三十,晚上三十。第二天早晨復習以前沒背下來的詞。

背的時候,要一目十詞(注意,是十個而不是更多或更少),不要認認真真背,因為沒有認認真真的時間。一邊看一邊讀每個詞的讀音,默讀也成。

看完後回憶一遍,滑前回憶不起來的再看。這次背的目的在於留下個大概印象,下次看見能知並讓旁道這個詞,所以背到大部分都能回憶得起來就成了,把剩下的詞單獨抄出來。

背單詞捷徑的第二條,就是:背字典!為什麼要背字典呢?因為字典上每個詞的解釋比較全面,而且相同字母開頭的單詞都集中在一起。不是什麼字典都可以拿來背的,一定要找只包含自己想背的詞的字典。

另外,最好有英文方式的解釋和例句。而且,一定要有音標!如果是為了考TOFEL或者GRE,注意要選美音音標的字典。

一般教材課文後面的詞彙表都是為那些認認真真聽課的好學生准備的,想走捷徑就千萬不要去背那些東西。 背字典的時候,按開頭字母(Z,Y,X,Q,J,K,U)(V,W,N,O,L)(FG,IT,HM,BDE,R)(C,P,S,A)的順序背,其中C,P,S,A每個都要分三部分背。

這樣背有幾個好處:(一)能增加成就感,提高興趣。至於為什麼,您翻翻字典就明白了。

;)(二)便於清楚地知道那些單詞已經背過,那些還沒背。(三)能先把最基本的詞先掌握。

三萬單詞里,分為三個等級:三千到四千,八千到一萬,兩萬二到三萬。也就是說,您得分別准備三本字典。

這幾個等級之間各自有非常不同的特性,所以需要分別用不同方法背。俺當時沒有認識到這一點,所以在從一萬到三萬之間走了一段彎路,浪費了一些時間,不然或許能突破到五萬吧。

;) 所以,背單詞捷徑的下面這條就有了三個分支。背單詞捷徑的第三條,就是:和單詞多見面。

一個單詞能不能記住,取決於和它在不同場合見面的頻率,不在於每次看著它的時間長短(同樣規律也適合於泡MM;))。一般想記住一個單詞,每星期要和它在*不同場合*見三到四次面。

俺在上文中提到大量背的時候,不要摳某一個字記住與否就是這個意思。因為是否一見鍾情都是無所謂的,關鍵在於有更多不同類型的見面機會。

不過,根據要背的單詞的等級不同,增加見面機會的方式也有所不同。 (2)第一個分支:瞎聽!三千到四千這個等級,是非常常用的單詞,而且幾乎囊括了表達最基本思想所需要的一切詞彙。

每篇文章中百分之八十都是這些詞彙,而且這些詞都是最基本的語素(或稱"詞根"),就是分割到最小無法再分割,互相之間也沒什麼類似之處的東西。對付這些詞的最好方法,就是進行大量的,不間斷的,簡單的初級聽力練習。

因為閱讀材料中,還有百分之二十其他詞彙,所以光憑這個等級的詞還看不懂那些閱讀材料。但是聽力練習都是最基本的對話,而且發音一般很標准,多聽能夠增加單詞的重復率,而且可以為以後背八千到一萬那個等級的詞打下語音基礎。

聽的時候,要分精聽和泛聽兩部分。精聽當然是指每個詞都要弄懂,俺著重講一下泛聽(飯廳?;P)。

泛聽是最重要的,因為掌握語速和語調,以及總體印象都要靠泛聽。而這些都是背八千到一萬等級單詞的基礎?泛聽能夠讓經常用到的詞(也就是那些最必要掌握的詞)把您的耳朵磨出繭子來,讓您模模糊糊聽到個音就能反應出它是什麼意思。

泛聽中您聽到的詞,才是您真正應該記住的詞,所以別害怕精聽的時候什麼都聽不懂。到底什麼是泛聽呢?泛聽,就是說您聽的時候,精神要分散,要一邊干著其他事(比如撮飯或和別人大聲討論撮飯;)~),一邊有一搭沒一搭地聽著。

泛聽一定要見縫插針,一有機會就聽著,最好耳機不離耳朵。;)而精聽的意義就在於找出您沒聽清的那些詞。

啊哈,那就是您背過但還不熟悉的詞了。:)把這些詞單獨記在另外一個地方,別跟沒背下來的詞混了。

泛聽要聽精聽已經聽過的內容。比如精聽聽到了第二盤磁帶,那麼泛聽就聽第一盤磁帶,正好。

提醒您一句,千萬別拿英語廣播當自己的聽力教材!!!順便跟您推薦一套聽力教材:武漢師范大學出的Step by Step.內容比較循序漸進,每一課開頭的音樂也很好聽。;) 第二個分支:狂看!八千到一萬這個等級,基本包含了剩下的百分之二十。

這些單詞在聽力教材里很難找到。但是,可不要停止聽的練習呦,因為聽能鞏固您的語調感覺,而這是背這個等級單詞的一個關鍵。

不過,背這個等級的詞,需要在聽以外增加看的內容。看,同樣要分精讀和泛讀兩種。

就象聽一樣,也是泛讀更重要一些。泛讀要挑不太長,能有耐心看完的文章,而且看不懂的詞不要太多,一篇文章有兩三個不認識的就足夠了。

千萬不要一上來就看英語報刊雜志小說,那些東西不但很難看懂,而且看懂了也對背單詞沒什。
3. 如何用python統計一篇英語文章里單詞總數和句子總數
f=open("文章").read()

n=0

for x in f.split(' '):

n+=1

for y in x.split('.'):

n+=1

for z in y.split('!'):

n+=1

for a in z.split('?'):

n+=1

print n

沒怎麼想瞎寫寫,意思是以空格,句號,感嘆號,問號等來分割!算出和來!

其他符號自己看看文章自己添加!分句子的話就把空格去掉,這樣以句號,感嘆號,問號分出來的應該是句子了!順序不限的!

我是超級菜鳥,初學者者,高手見到這樣的代碼不要笑我!

注意下編碼!就行了!~
4. 用python編寫一段程序,輸入若干單詞,按照單詞長短進行排序,並統
1、解法:對輸入的單詞進行分割得到列表,遍歷列表中的單詞,二級遍歷單詞中的字元,判斷字元是否存在字元字典中,存在則計數+1,不存在則初始化字典為1

2、知識點:字典、列表、for循環、if判斷、input獲得輸入、print列印

3、代碼如下:

# -*- coding: UTF-8 -*-

#簡歷一個字典,key=26個英文字母,value為出現次數

wordDict = {}

#獲得輸入單詞字元串

str = input("請輸入一串單詞")

#用空格分割單詞,存到列表

strArr = str.split(sep=' ')

#遍歷列表中的單詞

for word in strArr:

#遍歷單詞中的字母

for ch in word:

#判斷字典中是否存在鍵key

if ch in wordDict:

wordDict[ch] = wordDict.get(ch)+1#計數+1

else:

wordDict[ch] = 1#計數初始化為1

#列印輸出

for key,value in wordDict.items():

print("%s=%d"%(key, value))
5. python中如何統計兩個字典中相同單詞數量有多少個
>> dictA={"a":1,"b":2,"c":3}

>>> dictB={"b":1,"c":2,"d":3}

>>> dict_temp={}

>>> for i in dictA:

dict_temp[i]=1

>>> for i in dictB:

dict_temp[i]=1

>>> plicate_word_count=len(dictA)+len(dictB)-len(dict_temp)

>>> plicate_word_count

2

>>>

D. python flask 怎麼組織程序

1.初始化

所有的flask程序都必須創建一個程序實例

web伺服器使用wsgi介面協議,把接收客戶端的請求都轉發給這個程序實例來進行處理。這個程序實例就是flask對象

from flask import Flask
app = Flask(__name__)
#__name__決定程序的根目錄,以便以後能找到相對於程序根目錄的資源文件位置


2.路由和視圖函數

程序實例需要知道接收請求後,需要知道url請求應該運行哪些代碼。所以保存了一個url和python函數的映射關系;這個映射關系就叫做路由

flask程序中路由的寫法:

2.1#使用app.route裝飾器,把修飾的函數注冊為路由。例如

@app.route('/')def index(): return "<h1>Hello World</h1>"

#函數的名字不是必須寫index的,只是和裝飾器關聯的時候寫的函數名而已

#把index函數注冊為程序根路徑的處理程序。函數的返回值稱為響應,是客戶端接收的內容。

像index這樣的函數稱為試圖函數,試圖函數返回的響應可以是包含html的簡單字元串,也可以是復雜的東西

2.2#可變url部分映射,使用特定的裝飾器語法就可以

@app.route('/user/<name>')def user(name): return "<h1>hello %s</h1>"%(name)

裝飾器中的<name>指定可變內容為name,name對user(name)函數中的傳遞參數,這2個部分內容必須一致

調用試圖函數時候,flask會自動的將動態部分作為參數傳入參數,這個函數中,參數用於生成個人的歡迎信息

#備註:路由中的動態部分默認使用字元串類型,可以使用int,float,path來定義;例如<int:id>;path類型也是字元串,但不把斜線視作分隔符,而將其當做動態片段的一部分

3.啟動伺服器

調用程序實例app的run方法啟動flask集成開發的web伺服器

if __name__ == "__main__":
app.run(debug=True)

debug=True代表的是調試模式,這個flask自帶的run方法開啟的伺服器不適合在生產中使用,此處只用來測試

4.一個完整的Flask程序

啥也不說,先上例子hello.py

E. 關於神經網路 需要學習python的哪些知識

多讀文檔 應該是庫 庫也是python基礎編寫的 多讀多看

熱點內容
可不可以同時安裝幾個編譯器 發布:2024-11-28 22:34:08 瀏覽:934
蘋果配置鎖如何激活 發布:2024-11-28 22:10:24 瀏覽:668
linuxpython2與3共存 發布:2024-11-28 21:43:41 瀏覽:905
短視頻平台上傳視頻規范 發布:2024-11-28 21:41:22 瀏覽:554
c語言統計素數的個數 發布:2024-11-28 21:38:24 瀏覽:838
我的世界伺服器管理員沒了怎麼辦 發布:2024-11-28 21:37:22 瀏覽:184
請求分段存儲 發布:2024-11-28 21:23:20 瀏覽:459
zip偽加密 發布:2024-11-28 21:23:17 瀏覽:227
linuxshell路徑 發布:2024-11-28 21:13:05 瀏覽:995
存儲為web所用格式切片 發布:2024-11-28 21:11:23 瀏覽:453