→ djshen: 什麼叫掛了12/17 00:34
在2.7 N("A") 的return值是1
在3.6 N("A") 會是錯誤的
※ 編輯: znmkhxrw (111.255.233.84), 12/17/2017 00:36:41
→ WSzc: 你N("A")那邊的code是什麼? 我用print(N('A'))測正常啊12/17 00:40
https://imgur.com/A4sfwSI
我怎顯示錯誤QQ 然後2.7是對的
→ djshen: 錯誤的是多少12/17 00:47
推 KyotoAnime: 錯誤訊息?12/17 00:49
麻煩一下把code複製到這網站 選python 3.6
http://www.pythontutor.com/live.html#mode=edit
他一開始會run很久 然後顯示run太久了 之後停下來後只跑三步
最後一步它顯示 TypeError: N() missing 1 required positional argument: 'eng'
→ WSzc: 我是用3.5測 但照理說3.6應該也會過12/17 00:51
朋友安裝的3.6也錯誤 應該不是網站的問題QQ
※ 編輯: znmkhxrw (111.255.233.84), 12/17/2017 00:56:23
→ djshen: ubuntu 16.04 python 3.6.3沒問題12/17 00:58
→ kenduest: 剛測過本機自己跑 py3.6 也正常啊12/17 01:17
→ kenduest: 網站的話我是看到顯示記憶體錯誤這類12/17 01:17
→ kenduest: import string 搬到第一行去測試一下就可以跑了12/17 01:18
→ djshen: 網站應該是用thread去跑 我記得python import lock是全域12/17 01:22
→ djshen: import一個有thread的東西 然後thread裡面又import就會12/17 01:24
→ djshen: dead lock不過這是python2的狀況 這邊反而是python312/17 01:25
→ djshen: python3應該修好了才對 變成各module有各的lock12/17 01:26
@d & @k大 確實把import擺到第一行就可以了耶
但是d大說應該py2才會有這種error 可是py2.7卻可以把import放入def內卻可以跑XD
真奇怪的bug
→ kenduest: 我本機是使用 3.6.3 版本,所以原貼是 3.6.X 哪個 ? 12/17 01:28
我適用那個網站 http://www.pythontutor.com/live.html#mode=edit
他只寫py 3.6
--------------------------------------------------------------------
不好意思再請教類似問題
以下這個code是把數字轉成英文:
def letter(num):
string="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
for x,y in enumerate(string,1):
if x==num: return y
def remainder(num):
string="ZABCDEFGHIJKLMNOPQRSTUVWXY"
for x,y in enumerate(string):
if x==num: return y
def L(num):
string=""
N=num
while N>0:
string=(string[::-1]+remainder(N%26))[::-1]
if N%26==0: N=N/26-1
else: N=N/26
return string
print(L(28))
這個一樣在py2.7成功,py3.6失敗...
那個網站顯示3.6失敗的地方在於 string=(string[::-1]+remainder(N%26))[::-1] 這行
錯誤類別為 TypeError: must be str, not NoneType
-------------------------------------------------
請再幫忙一下 感恩QQ
※ 編輯: znmkhxrw (111.255.233.84), 12/17/2017 01:36:18
→ djshen: python3 除法有兩種12/17 01:46
→ djshen: 我發現for x in string.ascii_uppercase: pass會timeout12/17 01:55
→ djshen: [x for x in string.ascii_uppercase]就不會 奇怪的問題12/17 01:55
→ znmkhxrw: py3.6除法我明天研究 謝謝12/17 02:09
→ znmkhxrw: pass timeout是指?12/17 02:09
→ znmkhxrw: x for x 初學沒看過耶XD 只有for x12/17 02:09
→ abc2090614: x for x 叫作list comprehension12/17 02:47
→ djshen: 目前發現有這些問題的module有collections,json,re,string12/17 02:56
→ djshen: typing12/17 02:56
→ djshen: 只要在function裡面import並且用for loop去iterate12/17 02:57
→ djshen: module內的東西就會發生同樣的問題12/17 02:57
→ djshen: 而不是import的時候就出問題12/17 02:58
→ djshen: 不知道他在實現讓for loop可以一步一步跑的時候做了什麼12/17 02:59
→ znmkhxrw: 謝謝a大跟d大解釋 懂了~12/17 10:21
※ 編輯: znmkhxrw (111.255.233.84), 12/17/2017 10:21:57