python if語句縮排,python中if,else條件語句的縮排問題

2021-06-28 17:07:57 字數 3700 閱讀 4372

1樓:雷神拌檸檬

第二種情況很好理解

for n in range(2,14):

for x in range(2,n):

if n%x==0:

print n,'equals',x,'*',n/xbreak

else:

print n,'is a prime number'

比如n是個素數的話,第二重迴圈每次都會執行到else分支,由於else中沒有break,不會挑出第二層迴圈,就會打n is a prime number很多遍,非素數比如,8,9兩種情況自己想一下就明白了,很容易

for n in range(2,14):

for x in range(2,n):

if n%x==0:

print n,'equals',x,'*',n/xbreak

else:

print n,'is a prime number'

這裡的else應該是和他相對應的for迴圈結束後再被執行的,同時如果break跳出for迴圈,那麼對應的else也不執行,這樣執行結果就對了

2樓:龍戰於淵

#兩種型別的else表示的邏輯不一樣

#lz說的第一種,如果range(2, n)中的每一條均沒有執行,則會執行else語句,邏輯是for...else

以下是else的一些總結

if-else語句:

和各種語言相同的用法,在條件語句中,與if語句搭配使用的else語句。如果if語句的條件表示式的結果布林值為假,那麼程式將執行else語句後的**。它的語法是大家最為熟知的:

python**

if expression:

expr_true_suite

else:

expr_false_suite

elif(else-if)語句:

elif是python提供的else-if語句,它檢查多個條件表示式的值是否為真,並在為真時執行特定**塊中的**。和else一樣,elif是可選的,但是要注意的是,一個if語句可以跟多個elif語句,但最後只能有一個else語句:

python**

if expression1:

expr1_true_suite

elif expression2:

expr2_true_suite

elif expressionn:

exprn_true_suite

else:

none_of_the_above_suite

while-else/for-else語句:

在其他語言中,除了條件語句,是不會見到else分支的,但在python中,while和for迴圈中,也是可以使用else語句的。它們的工作順序為:在迴圈中使用時,else語句只在迴圈完成後執行,也就是說,break語句也會跳過else**塊,只要迴圈是正常結束,而不是通過break,else語句就會執行。

while-else舉例:

python**

#!/usr/bin/env python

# 尋找最大約數

def showmaxfactor(num):

count=num/2

while count>1:

if num%count == 0:

print 'largest factor of %d is %d' % (num,count)

break

count -=1

else:

print num,'is prime'

for i in range(10,21):

showmaxfactor(i)

程式的執行結果為:

largest factor of 10 is 5

11 is prime

largest factor of 12 is 6

13 is prime

largest factor of 14 is 7

largest factor of 15 is 5

largest factor of 16 is 8

17 is prime

largest factor of 18 is 9

19 is prime

largest factor of 20 is 10

try-else語句:

對於python中的錯誤和異常,try-except語句段,也可以和else連用,其功能和迴圈中的else語句沒有多大區別:在try範圍內沒有檢測到異常的時候,執行else子句。看一下語法:

python**

try:

log = open('logfile.txt','w')

except:

print 'file logfile.txt is not exsit'

else:

log.write('no exception caught')

log.close()

當然,在異常處理中,else一樣可以和finally聯用:try-except-else-finally。

3樓:匿名使用者

你把空格和tab混用了吧?只用tab試試

4樓:匿名使用者

# python中的for語句是有else分支的:

# 如果迴圈不是被break語句跳出,則迴圈結束後執行else分支,否則不執行

for i in range(10):

print i

if i > 5:break

else:

print 'every item has been printed'

python中if,else條件語句的縮排問題

5樓:匿名使用者

縮排沒問題,**可以執行

不過你這if的條件 ((num + 2)*3 - 6)/3 == num,不就是num == num麼

相當於if true了,呵呵

python3 函式內巢狀while語句,巢狀if語句 縮排問題

6樓:匿名使用者

if name='quit':

改為if name=='quit' :break

一個等號表示賦值,兩個等號才表示相等

python程式設計if語句 為什麼總提示 expected an indented block,縮排都沒用

7樓:玩轉資料處理

score=input()

score = int(score)

if score <60 and score >=0:

print "e"

elif score <70 and score >=60:

print "d"

elif score <80 and score >=70:

print "c"

elif score <90 and score >=80:

print "b"

else :

print "a"

python中if和else怎麼縮排

8樓:匿名使用者

if 1 < 2:

print('1<2')

else:

print('1>=2')

matlab的if語句,要求滿足多個條件中的,也就是說彼此是或的關係,怎麼寫

你的a是什麼型別copy的資料.報錯的資訊是bai什麼.語法是沒有錯du的.你上面的for是從i 1 10 而出錯的是i 8 由於zhi你的x1,y1的長度只有7個dao,你訪問第8個元素就出錯了.但是前七個的圖還在.所以你感覺是正常的.但是有點不正常就是了.if a i 2 a i 3 a i 4...

資料庫SQL查詢語句的編寫,SQL中多條件同時查詢語句怎麼寫?

select max id from 表 where num 100 查最大id select from 表 where id select max id from 表 where num 100 and num 100 查id最大並且num為100的那條資料 sql select 語句 selec...

語句while E 中的條件 E等價於。A E 0 B E 1 C E 0 D E

e 條件等價於 e 0 亦即 e 0 所以答案應該是a。就要使 e為真,即非0.到這裡你的認識是對的。e,非e,非0,不就要e為0嘛。a是正確的。e 0時,e為假,e為真嘛 樓主,不是這樣的,e應等於e 0.因為只有e 0時,條件才為真 代入後變成!0 如果e 0,就變成!0 即!1 就是那麼簡單 ...