Month = int(input(""))
做網(wǎng)站、網(wǎng)站制作的關(guān)注點(diǎn)不是能為您做些什么網(wǎng)站,而是怎么做網(wǎng)站,有沒有做好網(wǎng)站,給成都創(chuàng)新互聯(lián)公司一個(gè)展示的機(jī)會來證明自己,這并不會花費(fèi)您太多時(shí)間,或許會給您帶來新的靈感和驚喜。面向用戶友好,注重用戶體驗(yàn),一切以用戶為中心。
Day = int(input('請輸入日期'))
if Month in [x for x in range(1,13)if x!=2]:
if Day in range(1,32):
print('原來你是這個(gè)星座啊')
else:
print('輸入格式錯(cuò)誤')
elif Month in [2]:
if Day in range(1,30):
print('原來你是這個(gè)星座啊')
else:
print('輸入格式錯(cuò)誤')
else:
print('輸入格式錯(cuò)誤')
看你的問題,相信你也知道break只能跳出單層循環(huán)。
要跳出多層循環(huán),方法有兩個(gè):
1.每層都使用一次break(注意放置位置,不然很容易拋出異常)
2.使用return返回,這個(gè)是函數(shù)里面才有的(雖然這個(gè)方法已經(jīng)和break毫無關(guān)系,但是功能也能實(shí)現(xiàn))
兩個(gè)方法區(qū)別:使用break,每層都用break,增加代碼量,不適于閱讀。但可以運(yùn)用于整個(gè)Python環(huán)境。
使用return,可以跳出多層循環(huán),并且只使用一次就行,放在你希望跳出循環(huán)的位置。但必須和函數(shù)結(jié)合使用
在 Python 中,“return”函數(shù)的用法如下:
1、return 語句用于退出函數(shù),終止函數(shù)并將 return 值傳回。實(shí)例:
def?a(x,y):
if?x==y:
return?x,y
2、用于同一循環(huán)語句下,遇到第一個(gè) return 后即返回。實(shí)例:
```python
def?fun(a,b):
print?(a)
return?a
print?(b)
return?b
resunlt?=?fun(2,6)
2
```
3、用于 return 在不帶參數(shù)的情況下(或者沒有寫 return 語句),默認(rèn)返回 None。實(shí)例:
def?recurve(a,b):
if?a%b==0:
return?b
else:
gcd(b,a%b)
以上內(nèi)容參考:百度百科-Python
喜歡在循環(huán)、函數(shù)里使用多個(gè)單行的if判斷,如果true直接跳出。
類似常用的傳值類型判斷。
類似以下:
這種句式的好處是邏輯非常清晰。
但是有時(shí)要在if里嵌套if,因?yàn)樗皇呛瘮?shù)也不是循環(huán),就無法正常退出。
例如:
當(dāng)然可以用if...else解決,但是結(jié)構(gòu)就不那么清晰
為了達(dá)到我的逐行判斷、邏輯清晰的目的,我決定這么使用:
整體結(jié)構(gòu)很簡單。
相當(dāng)于在備份a前加了兩個(gè)判斷。
我討厭大規(guī)模的for循環(huán)、嵌套for循環(huán),但卻喜歡1的for循環(huán)。
import?time
import?os
import?schedule
import?pyautogui
def?Rec():
record?=?os.startfile("C:\Program?Files?(x86)\EVCapture\EVCapture.exe")
schedule.every().day.at("16:40").do(Rec)
while?True:
if?pyautogui.hotkey('ctrl',?'f2'):
break
schedule.run_pending()
time.sleep(1)
def?Star_t():
St?=?pyautogui.hotkey('ctrl',?'f1')
Star_t()