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)
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言