[英]A Few Python questions
我正在嘗試從javascript中的后台學習Python。 我看到有人做了一個遞歸函數來找到最不常見的分母,並想知道為什么他們不只是使用循環,所以,無論是為了體驗還是為了自娛自樂,我寫了一個更簡單的:
我提出了:
def LCM(n,d):
while(n%d++ != 0 ):
continue
return d-1
print(LCM(99,12))
毋庸置疑,對於那些了解Python的人來說,++不是一個有效的運算符。 我也試過了
def LCM(n,d):
while(n%(d+=1) != 0 ):
continue
return d-1
print(LCM(99,12))
為了確保這不是我的想法,我在javascript中嘗試了同樣的事情:
function LCM(b,d){
while(b%d++ != 0){
}
return d-1;
}
那么Python不允許像javascript中的表達式嗎? 還有,縮進是定義某事的唯一方法嗎? 我知道分號不是必需的,但可以使用,在關閉循環或函數定義方面是否有類似的東西?
最后, is
和is not
Python等式 - 無類型 - coersion運算符?
PS我意識到如果沒有檢查各種輸入的輸入,這個功能是不實用的,但這不是編寫它的重點。
PPS此外,是否有一個Python相當於javascript evaluation ? on true : on false
evaluation ? on true : on false
if statement abbreviation?
Python不允許在表達式中進行賦值(例如i+=1
),因為這些可能導致代碼混亂,而Python的設計使得編寫混亂代碼變得困難,並且使編寫明顯代碼變得簡單。
你可以簡單地寫一下:
def LCM(n,d):
while n%d != 0:
d += 1
return d-1
print(LCM(99,12))
Python is
測試兩個對象是同一個對象而不是相同的對象。 考慮以下:
d = {}
e = d
assert d == {} # Empty dictionaries equal each other
assert d is not {} # .. but are not identical
assert d is e # d and e refer to the same object
沒有相應的運營商is
在JavaScript中,並沒有等同於JavaScript的==
在Python。 Python的==
會對內置類型進行類型檢查。
條件運算符 (在JavaScript中a ? b : c
)在Python中寫出:
b if a else c
在Python中不需要分號,一切都是用縮進完成的。 此外,混合標簽和空格可能會導致問題。 堅持一個或另一個。 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.