今日學習總結:python
1、程序分支控制ide
1.單分支結構函數
if True: #這是一個布爾值 print("條件成立") if 1: #這是一個布爾值 print("條件成立") if -1: #這是一個布爾值 print("條件成立")
2.二分支結構:if else 語句工具
guess = eval(input('請輸入你猜的年齡')) if guess == 99: print('猜對了') else: print('猜錯了')
print('猜對了' if guess == 99 else '猜錯了') #if else語句合併寫
.oop
3.多支結構學習
score = input("請輸入你的分數:").strip() score = float(score) if score >=90: print("等級是A") elif score >=80: print("等級是B") elif score >=70: print("等級是C") else: print("等級是D")
4.異常處理結構:try exceptspa
num = eval(input('請輸入一個整數')) print(num**2)
用try except 來去除錯誤3d
try: num = eval(input('請輸入一個整數')) print(num**2) except: print('輸入的不是整數')
2、案例:國內身體質量指標數BMIcode
公式:bmi=體重/身高^2orm
#hight,weight = eval(input('請輸入您的身高/米 體重/kg'))
hight = eval(input('請輸入您的身高/米:')) weight = eval(input('請輸入您的體重/kg:')) bmi = weight/pow(hight, 2) print('BMI 數值爲:{:.2f}'.format(bmi)) if bmi<18.5: print('BMI國內指標爲:偏瘦') elif bmi <24: print('BMI國內指標爲:正常') elif 24 <= bmi <28: print('BMI國內指標爲:偏胖') else: print('BMI國內指標爲:肥胖')
3、程序的循環結構
1.遍歷循環結構:
01.整數遍歷循環: for i in range 結構的遍歷循環,是指從遍歷結構中逐一提取元素
for i in range(5): #for in 遍歷結構 print(i) print('hello',i) for i in range(1,6): #for in 遍歷結構,遍歷1,2,3,4,5 由於不顧尾。 print(i) print('hello', i)
for i in range(1,6,2): #for in 遍歷結構,2表示是步長
print('hello',i)
02. 字符串遍歷循環:for c in s 遍歷字符串的每一個字符,產生循環
s = "python" for c in s: print(c,end=',') #end='' 是去掉print自帶的換行
或者
for c in ('python'):
print(c,end=',')
03.列表遍歷循環:for item in ls ls是一個列表,遍歷其裏面的每一個元素,產生循環
abc=0 ls = [123,'python',456,'你好',abc] for item in ls: print(item,end=',')
2.循環語句
01.無限循環,是指有條件控制的。若是條件無限,則循環無限。while語句。
a=3 while a>0: a=a-1 print(a) 輸出結果: 2 1 0 a=3 while a>0: a=a+1 print(a) #出現死循環,由於條件永遠成立
02.循環控制的break 語句 :跳出並結束當前整個循環 和 continue語句 :結束當初循環,繼續執行後續次數循環
與for 循環連用
for c in "prthon": if c=='t': break print(c,end=",") 輸出結果:p,r, for c in "prthon": if c=='t': continue print(c,end=",") 輸出結果:p,r,h,o,n,
與while 循環連用
s = 'python' while s !="": for c in s: print(c,end=',') s=s[:-1] #由於[:-1]不顧尾,因此s字符串的長度在不斷減小 #輸出結果爲:p,y,t,h,o,n,p,y,t,h,o,p,y,t,h,p,y,t,p,y,p, s = 'python' while s !="": for c in s: if c =='t': break #break結束的是離它最近的for循環 結束的不是while循環。if是條件語句 print(c,end=',') s=s[:-1] 輸出結果爲:p,y,p,y,p,y,p,y,p,y,p,
4、函數:一系列功能的集合體,相似於工具。
1.無參數函數
def index(): print("你好") index()
2.有參數函數
usename = "sean" password = "123" def login(usename, password): name = input("請輸入您的名字:") pwd = input("請輸入您的密碼:") if name == usename and pwd == password: print('登陸成功') else: print('登陸s失敗') login(usename, password)
3.空函數
def login(): 登陸
pass
def register(): 註冊
pass
def check_balance(): 查看銀行帳戶
pass
def check_user(): 查看用戶
pass
def logout(): 登出
pass
5、七段數碼管繪製
函數的調用和嵌套的使用
import turtle import time t = turtle.Pen() def drawGap(): t.up() t.fd(5) def drawLine(flag): drawGap() if flag: t.down() else: t.up() t.fd(40) drawGap() t.right(90) def drawDight(num): drawLine(True) if num in [2, 3, 4, 5, 6, 8, 9] else drawLine(False) drawLine(True) if num in [0, 1, 3, 4, 5, 6, 7, 8, 9] else drawLine(False) drawLine(True) if num in [0, 2, 3, 5, 6, 8, 9] else drawLine(False) drawLine(True) if num in [0, 2, 6, 8] else drawLine(False) t.left(90) drawLine(True) if num in [0, 4, 5, 6, 8, 9] else drawLine(False) drawLine(True) if num in [0, 2, 3, 5, 6, 7, 8, 9] else drawLine(False) drawLine(True) if num in [0, 1, 2, 3, 4, 7, 8, 9] else drawLine(False) t.up() t.left(180) t.fd(20) def get_data(data): for i in data: if i=="/": t.write('年', font=("Arial", 20, "normal")) elif i=="-": t.write('月', font=("Arial", 20, "normal")) t.up() t.fd(40) t.down() elif i=="+": t.write('日', font=("Arial", 20, "normal")) else: drawDight(eval(i)) def mian(): t.up() t.backward(300) t.down() t.pencolor('red') t.pensize(5) get_data(time.strftime('%Y/%m-%d+', time.gmtime())) t.hideturtle() t.up() t.fd(-500) t.left(90) t.fd(110) t.right(90) t.pencolor('blue') t.write('sean老師真帥', font=("Arial", 50, "normal")) mian() turtle.mainloop()