內容選單標籤

2019年11月18日 星期一

CH7 指令



-------------------------- while 迴圈

sum=0
i=1
while i<=100:
    sum +=i
    i+=1
print('1+2..+100=',sum)

1+2..+100= 5050


cnt=0
guess=0
ans=38
while (guess != ans):
    guess=int(input('請輸入(1~100) ?'))
    cnt += 1
    print('你已經猜:',cnt,'次')





for n in range(2,10):
    for i in range(2,n):
        if n % i ==0:
            print(n,'=',i,'*',n//i)
            break
    else:
        print(n,'是質數')


2 是質數
3 是質數
4 = 2 * 2
5 是質數
6 = 2 * 3
7 是質數
8 = 2 * 4
9 = 3 * 3




for n in range(2,10):
    if n % 2 == 0:
        print(n,' 是偶數')
        continue
    print(n,' ..奇數')


2  是偶數
3  ..奇數
4  是偶數
5  ..奇數
6  是偶數
7  ..奇數
8  是偶數
9  ..奇數









-------------------------- for 迴圈


Python 中 for 以及 while 可以像 if 一樣有個 else 區塊,當迴圈沒有中斷就會執行到 else 區塊。
換句話說,就是 esle 為 for loop 的其中一個部份,如果 break 就一併跳出,沒有的話就會執行到。


#小於10的質數
for n in range(2,10):
    print('n=',n)
    for i in range(2,n):
        print('i=',i,end=' ')
        if n % i ==0:
            break
    else:
        print( '>> %d'  %n,end=' ' )
    print('\n')

n= 2
>> 2

n= 3
i= 2 >> 3

n= 4
i= 2

n= 5
i= 2 i= 3 i= 4 >> 5

n= 6
i= 2

n= 7
i= 2 i= 3 i= 4 i= 5 i= 6 >> 7

n= 8
i= 2

n= 9
i= 2 i= 3




nums=[60,70,30,110,90]
isFound=False
for n in nums:
    if n>100:
        isFound=True
        print("有大於100的數")
        break

if not isFound:
    print("沒有大於100的數")


有大於100的數




nums=[60,70,30,110,90]

for n in nums:
    if n>100:
     
        print("有大於100的數")
        break
else:
    print("沒有大於100的數")


有大於100的數












Python 中 break、continue、pass 的區別:
break:強制跳出 ❮整個❯ 迴圈
continue:強制跳出 ❮本次❯ 迴圈,繼續進入下一圈
pass:不做任何事情,所有的程式都將繼續


cnt=0
for char in 'content':
    cnt+=1
    if char == 't':
        break
    print(char)
print('\n迴圈結束')
print('迴圈執行 %d 次' %cnt)

c
o
n

迴圈結束
迴圈執行 4 次



cnt=0
for char in 'content':
    cnt+=1
    if char == 't':
        continue
    print(char)
print('\n迴圈結束')
print('迴圈執行 %d 次' %cnt)


c
o
n
e
n

迴圈結束
迴圈執行 7 次




cnt=0
for char in 'content':
    cnt+=1
    if char == 't':
        pass
    print(char)
print('\n迴圈結束')
print('迴圈執行 %d 次' %cnt)

c
o
n
t
e
n
t

迴圈結束
迴圈執行 7 次

在迴圈中使用 pass 語句,執行程式後,你會發現什麼事也沒做,完全不起任何作用,只是一個空運算而已,那問題就來了:
如果什麼事都不做,就不用寫拉,那 pass 語句是要做什麼的? ……
其實有時候會有非寫不可的情況!!
pass 就像是 To do 的概念,在寫程式的時候,有時候想的比實際寫出來的速度快,例如定義一個函數,但還沒有實作出來,空著內容不寫又會產生語法錯誤,這時就會使用 pass 來替代,當作是個指標,提醒自己之後要來完成。












>>> for letter in 'Python':
print(letter,end=' ')


P y t h o n


>>> w=['Sun','Mon','Tue','Wed','Thu','Fri','Sat']
>>> for days in w:
print(days,end=' ')


Sun Mon Tue Wed Thu Fri Sat



>>> for i in range(1,11,2):
print(i,end=' ')


1 3 5 7 9



>>> for i in range(10,1,-3):
print(i,end=' ')


10 7 4


>>> for i in range(1,10):
print(i,end='')


123456789
>>> for i in range(1,10):print(i,end=' ')

1 2 3 4 5 6 7 8 9


>>> r=range(1,11,2)
>>> print(r)
range(1, 11, 2)
>>> print(type(r))
<class 'range'>
>>> for i in r:
print(i,end=' ')


1 3 5 7 9


-------------------------- if 判斷
x=int(input('x='))
if x<0:
    print('成績小於0')
elif x>100:
    print('成績大於100')
elif x<60:
    print('成績不及格')
else:
    print('成績及格')






>>> n=int(input('輸入一整數:'))
輸入一整數:6
>>> if n%2==0:
print('偶數')
else:
print('奇數')


偶數



--------------------------交換數值

>>> a=5
>>> b=10
>>> a,b=b,a
>>> a,b
(10, 5)

沒有留言:

張貼留言