03.Python基础--控制流语句-顺序结构-判断结构-循环语句
文章目錄
- 1.控制流語句
- 1.1 if條件判斷
- 1.1.1 布爾類型和其他數據類型之間的轉換關系
- 1.1.2 if 嵌套
- 1.1.3 列表
- 1.2 循環語句
- 1.2.1 for循環
- 1.2.2 whlie循環
- 1.2.3打印-1到-20中所有3的倍數
- 1.2.4 break退出本"層"循環
- 1.2.5 continue結束本"次"循環
- 1.2.6 練習 尋找水仙花數
1.控制流語句
順序語句
- 從左到右, 從上到下
1.1 if條件判斷
計算機之所以能做很多自動化的任務,因為它可以自己做條件判斷。
比如,輸入用戶年齡,根據年齡打印不同的內容,在Python程序中,用if語句實現:
方法一
if <條件判斷表達式>:
<當上面的代碼成立時,運行代碼>
根據Python的縮進規則,如果if語句判斷是True,就把縮進的兩行print語句執行了,否則,什么也不做。
也可以給if添加一個else語句,意思是,如果if判斷是False,不要執行if的內容,去把else執行了:
age = 20 if age >= 18:print('your age is', age)print('adult') your age is 20 adult 例1 a = 1 # 只要看到if 了 , 就是進入 分支語句 # if 后面 判斷表達式 # 判斷表達式后面 冒號: if a < 0:print(1) print(2)例2 a = 1 if a == 2:print(1) else:print('不成立')print('后面的代碼')方法二
if <條件判斷表達式>:
<當上面的代碼成立時,運行代碼>
else:
<當上面代碼不成立時,運行代碼>
方法三
elif是else if的縮寫,完全可以有多個elif,所以if語句的完整形式就是:
所以if語句的完整形式就是:
if <條件判斷1>:
<執行1>
elif <條件判斷2>:
<執行2>
elif <條件判斷3>:
<執行3>
…
else:
<執行4>
案例
# 1 - 4 歲 嬰兒 # 4 - 18 歲 兒童 # 18 - 35 青年 # 35 - 55 中年 # 55 以上 老年 age = int(input('請輸入您的年齡')) if age <= 4:print('你是一個小baby') elif age <= 18:print('你還未成年,不能去網吧') elif age <= 35:print('你已經成年了, 可以去網吧玩游戲了') elif age <= 55:print('你是一個中年人了, 不需要去網吧了') else:print('您是一個老年人, 和網吧沒有關系了')請輸入您的年齡1 你是一個小baby1.1.1 布爾類型和其他數據類型之間的轉換關系
所有空值、0為假,其他為真
bool(0)
bool([])
bool(’’)
都是返回為假false
1.1.2 if 嵌套
if嵌套
通過學習if的基本用法,已經知道了
當需要滿足條件去做事情的這種情況需要使用if
當滿足條件時做事情A,不滿足條件做事情B的這種情況使用if-else
想一想:
坐火車或者地鐵的實際情況是:先進行安檢如果安檢通過才會判斷是否有車票,或者是先檢查是否有車票之后才會進行安檢,即實際的情況某個判斷是再另外一個判斷成立的基礎上進行的,這樣的情況該怎樣解決呢?
答:
if嵌套
if嵌套的格式
if 條件1:滿足條件1 做的事情1滿足條件1 做的事情2...(省略)...if 條件2:滿足條件2 做的事情1滿足條件2 做的事情2...(省略)... # 先檢票 , 如果有票, 則進站 # 如果沒票, 不能進站 # 如果成功進站了, 進行安檢 # 如果沒有危險物品, 則可以上車 # 如果有危險物品, 被抓到派出所 ticket = True danger_thing = True if not danger_thing:print('沒有危險物品可以進站')if ticket:print("恭喜上車")else:print('請出去') else:print('請跟我走一趟')練一練
情節描述:上公交車,并且可以有座位坐下
要求:輸入公交卡當前的余額,只要超過2元,就可以上公交車;如果空座位的數量大于0,就可以坐下
money = float(input('請輸入公交卡的錢:')) setting = float(input('請輸入座位數:'))if money >= 2:print('可以上車')if setting >= 1:print('請坐下')else:print('請站著') else:print('請下車')請輸入公交卡的錢:2 請輸入座位數:3 可以上車 請坐下補充:
and not or的優先級
or<and<not
1.1.3 列表
當我們有一百個變量要儲存起來的時候,總不能弄一百個變量啊,怎么辦的,用列表.
我們可以對列表這樣去理解, 就把它當成一個大桶, 當我們有一堆東西需要找個地方臨時存放在一起, 以便后續進行排序, 篩選,提取等操作時, 就弄一個列表, 先放進去.
列表中的元素,沒有數據類型的限制,可以為任何數據類型
1.2 循環語句
循環語句的使用場景
這一天老師讓你抄寫一百遍"我錯了"
for循環
while循環
i = 0 while i <= 100:print("我錯了")i += 11.2.1 for循環
for循環和編程語言中常見的循環不太一樣,它實際上不是一個循環,而是一個遍歷功能,會依次對一個可迭代的數據中的每一個數據進行操作.
在Python中 for循環可以遍歷任何序列的項目,如一個列表或者一個字符串等。
for循環的格式
for 臨時變量 in 列表或者字符串等:循環滿足條件時執行的代碼range的使用
range(數字)表示生成0-多少的數組
range(a,b)表示生成a到b的數
# 例:list(range(10,20))表示生成10到19的數 [10, 11, 12, 13, 14, 15, 16, 17, 18, 19]range(a,b,c)表示生成a到b的數,間距為c
# 例:list(range(10,20,2))表示生成10到20的偶數 [10, 12, 14, 16, 18]利用for 循環實現1到100的累加
# 先定一個累加器 n = 0 for i in range(1, 101):# 每次把遍歷出來的i 的值 累加到 n 上面去n += i n1.2.2 whlie循環
while 條件表達式:條件滿足時,做的事情1條件滿足時,做的事情2條件滿足時,做的事情3...(省略)...案例1
i = 0 while i<5:print("當前第{}次執行循環".format(i+1))print('i={}'.format(i))i += 1當前第1次執行循環 i=0 當前第2次執行循環 i=1 當前第3次執行循環 i=2 當前第4次執行循環 i=3 當前第5次執行循環 i=4案例2
s = "也可以使用while循環對字符串進行遍歷,不過就需要配合字符串的索引功能了" i = 0 while i < len(s):print(s[i])i += 1 也 可 以 使 用 w h i l e 循 環 對 字 符 串 進 行 遍 歷 , 不 過 就 需 要 配 合 字 符 串 的 索 引 功 能 了1.2.3打印-1到-20中所有3的倍數
i = -1 while i >=-20:if i%3 == 0:print(i)i -= 1-3 -6 -9 -12 -15 -18對數字0 每次 加 7 , 然后把這個數字打印出來
一直運行到 這個數字是 100的倍數 停止
i = 0 while (not(i%100 == 0)) or (i == 0):print(i)i += 7 0 7 14 21 28 35 42 49 56 63 70 77 84 91 98 105 112 119 126 133 140 147 154 161 168 175 182 189 196 203 210 217 224 231 238 245 252 259 266 273 280 287 294 301 308 315 322 329 336 343 350 357 364 371 378 385 392 399 406 413 420 427 434 441 448 455 462 469 476 483 490 497 504 511 518 525 532 539 546 553 560 567 574 581 588 595 602 609 616 623 630 637 644 651 658 665 672 679 686 6931.2.4 break退出本"層"循環
遇到break相當于推出本層循環
name = '我想要去打游戲,不想學習' for i in name:if i == ',':breakprint(i)我 想 要 去 打 游 戲1.2.5 continue結束本"次"循環
continue的作用:用來結束本次循環,緊接著執行下一次的循環
name = '我想要去打游戲,不想學習' for i in name:# 如果遇到了逗號, 就不打印了if i == ',':continueprint(i)我 想 要 去 打 游 戲 不 想 學 習注意:
break/continue只能用在循環中,除此以外不能單獨使用
break/continue在嵌套循環中,只對最近的一層循環起作用
1.2.6 練習 尋找水仙花數
題目:打印出所有的"水仙花數",所謂"水仙花數"是指一個三位數,其各位數字立方和等于該數本身。例如:153是一個"水仙花數",因為153=1的三次方+5的三次方+3的三次方。
方法一
方法二
for i in range(100,1000):s = str(i)a = s[0]b = s[1]c = s[2]if int(a)**3 + int(b)**3 + int(c)**3 == i:print(i) 153 370 371 407總結
以上是生活随笔為你收集整理的03.Python基础--控制流语句-顺序结构-判断结构-循环语句的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 02.Python基础_标准数据类型_数
- 下一篇: 04.Python基础_列表_元组_字典