Python程式設計之選擇與迴圈

2021-10-03 02:28:23 字數 2806 閱讀 8368

2.條件結構

#if結構

a=[5]

if 1:

print(a) #使用整數作為條件表示式

if a:

print(a) #使用列表作為條件表示式

#if-else 結構

a=if a:

print(a)

else:

print('empty')

#if-elif-else結構

a=5if a>1:

print(a)

elif a<1:

print(a-1)

else:

print(a+1)

#if巢狀結構

a=3if a>1:

if a>2:

print(a)

else:

print(a-1)

else:

print(a+1)

#value if (條件表示式) else value2 python支援的表示式

print(5) if(5>3) else print(6)

合理使用邏輯運算子可以大大提高**的執行效率,例如下列**實現在字串中插入指定字元:

def join1(chlist,sep=','):			#方法一

return sep.join(chlist)

def join(chlist,sep=none):

return (sep or ',').join(chlist) #方法二

chlist=[1,2]

join(chlist,':')

>>>'1:2'

③條件結構案例:

#1 記錄使用者輸入成績總和,每次輸入會提示使用者是否繼續輸入,通過字串判定是否繼續執行

endflag='yes'

sum=0

while endflag.lower()=='yes':

x=input('請輸入第乙個成績:')

x=eval(x)

if isinstance(x,int) and 0<=x<=100: #isinstance()比較型別是否符合要求

sum+=x

else:

print('輸入資料有誤!')

endflag=input('繼續輸入:(yes or no)')

pritn('你的成績為:',sum)

#2判斷某天是這一年的第幾天

import time #datetime提供了timedelta物件可以方便計算指定日期;還有回答「今天是幾號」的timetuple()函式

def dem(year,month,day):

day_month=[31,28,31,30,31,30,31,31,30,31,30,31]

if year%400==0 or (year%4==0 and year%100!=0):

day_month[1]=29

if month==1:

return day

else:

return sum(day_month[i] for i in range(month-1))+day

#return sum(day_month[:month-1])

date=time.locatime()

year,month,day=date[:3]

print(dem(year,month,day))

3.迴圈結構

①for 和 while兩種迴圈結構:

#while迴圈結構

while true:

print(1) #while迴圈結構

#while-break結構

a=3while a>0:

a-=1

break

#while-contine結構

while a>0:

a-=1

contine

#for迴圈結構

for i in range(3):

print(i)

#for-break

a=0for in in range(5):

a=a+1

break

#for-continue

for in range(5):

print(i)

continue

for i in range(10):

if i%2==0:

continue

print(i,end=' ')

for i in range(10):

if i%2==0:

i+=1 #這裡i變數的修改不影響程式的輸出,因為python有基於對值的記憶體管理方式

continue

print(i,end=' ')

②迴圈使用案例:

#1實現1到100的累加

s=0for i in range(1,101):

s=s+1

print(s) #方法一

sum=0

i=0while 0n:

print('j must smaller or equal to n')

min,max=min(1,n-j),max(1,n-j)

for i in range(n,0,-1):

if i>max:

result *=i

elif i<=min:

result/=i

print(result)

運算子參看文章:

Python 選擇與迴圈

1 算數運算子 2 關係運算子 7 3 測試運算子 in not in is is not 4 邏輯運算子 and or not 5 位運算子 6 矩陣運算子 if 表示式1 語句塊1 elif 表示式2 語句塊2 else 語句塊n while 條件表示式 迴圈體else else 子句 塊 和f...

shell程式設計之迴圈語句與函式(用法)

2.2 while迴圈語句 2.3 continue和break 三 shell函式 四 shell陣列 格式 case 變數值 in 模式1 命令序列1 模式2 命令序列2 預設命令序列 esac 示例 case 控制指令 in start 啟動xx服務 stop 停止xx服務 顯示服務指令碼的用...

程式設計基本結構 順序 選擇與迴圈

輸出函式 輸入函式 多型別輸入函式 scanf 格式控制 位址列表 getchar 單個字元 int d double lf float f char c char char s 使用結構的好處 使程式設計容易理解 測試 修改,有助於設計出高度結構化的程式。三大結構的共同特點 1.都包含乙個入口和乙...