Python 基礎 - for流程判斷
今天介紹另一個循環判斷式 for循環,首先,先寫一個很簡單的 for循環的代碼
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
for i in range(10):
print("loop:", i)
---------------執行結果---------------
loop: 0
loop: 1
loop: 2
loop: 3
loop: 4
loop: 5
loop: 6
loop: 7
loop: 8
loop: 9
Process finished with exit code 0
那 for循環是怎麼跑的呢?請看下圖

接下來我們再來延伸一下,如果我想要把一開始的 form循環 每隔一個數字才打印出來,要怎麼實現?
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
for i in range(0, 10, 2):
print("loop:", i)
---------------執行結果---------------
loop: 0
loop: 2
loop: 4
loop: 6
loop: 8
Process finished with exit code 0
這樣就可以達成目的了,接下來要再提升一點難度,如何把 for循環 判斷式套用到猜年紀的遊戲中呢?忘記了請參考Python 基礎 - while流程判斷 的最後一個代碼
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
age_of_ironman = 35
for i in range(3):
guess_age = int(input("guess age:"))
if guess_age == age_of_ironman:
print("Bingo, You got it!!!")
break
elif guess_age > age_of_ironman:
print("You may think smaller...")
else:
print("You may think bigger...")
else:
print("You have tried too many, exit")
---------------執行結果---------------
# 故意猜超過三次,看看結果
guess age:1
You may think bigger...
guess age:2
You may think bigger...
guess age:3
You may think bigger...
You have tried too many, exit
Process finished with exit code 0
# 先試試在三次內打對密碼,看看結果
guess age:4
You may think bigger...
guess age:35
Bingo, You got it!!!
Process finished with exit code 0
上面的代碼因為用了 for循環 就不需要計數器了,因此就把 count = 0 跟 count += 1 給刪除了,就可以完成了,但是這段代碼的 for循環 又是怎麼跑的呢?請看下圖

再來再提升一下難度,這次需求是要讓這個遊戲可以讓任隨便玩,不過一樣要每三次問一下,要不要繼續玩?
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
age_of_ironman = 35
count = 0
while count < 3:
guess_age = int(input("guess age:"))
if guess_age == age_of_ironman:
print("Bingo, You got it!!!")
break
elif guess_age > age_of_ironman:
print("You may think smaller...")
else:
print("You may think bigger...")
count += 1
if count == 3:
countine_confirm = input("Do you want to keep go in ? (y/n)")
if countine_confirm != 'n':
count = 0
else:
print("You have tried too many, exit")
---------------執行結果---------------
# 故意猜錯三次,第二次詢問時,選n
guess age:1
You may think bigger...
guess age:2
You may think bigger...
guess age:3
You may think bigger...
Do you want to keep go in ? (y/n)
guess age:4
You may think bigger...
guess age:5
You may think bigger...
guess age:6
You may think bigger...
Do you want to keep go in ? (y/n)n
You have tried too many, exit
Process finished with exit code 0
有發現上面代碼有一個怪怪的地方嗎?請看下圖說明

所以我們只要把需要註解或是刪除那二碼代碼即可
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
age_of_ironman = 35
count = 0
while count < 3:
guess_age = int(input("guess age:"))
if guess_age == age_of_ironman:
print("Bingo, You got it!!!")
break
elif guess_age > age_of_ironman:
print("You may think smaller...")
else:
print("You may think bigger...")
count += 1
if count == 3:
countine_confirm = input("Do you want to keep go in ? (y/n)")
if countine_confirm != 'n':
count = 0
---------------執行結果---------------
# 故意猜錯三次,第二次詢問時,選n
guess age:1
You may think bigger...
guess age:2
You may think bigger...
guess age:3
You may think bigger...
Do you want to keep go in ? (y/n)y
guess age:4
You may think bigger...
guess age:5
You may think bigger...
guess age:6
You may think bigger...
Do you want to keep go in ? (y/n)n
Process finished with exit code 0
知識點:
- 語法:
range(start, stop[, step])裡面的step 預設是 1
參考資料:
Python 基礎 - for流程判斷的更多相关文章
- Python 基礎 - while流程判斷
接續上次的代碼,是不是只有執行一次才就結束,想要再繼續猜,就要在執行一次,是不是有點挺麻煩的? 所以這次我們就來再多做一點點功能進去,讓代碼可以多次循環地執行代碼,Go.... 首先,我們先來了解一下 ...
- Python 基礎 - if else流程判斷
hmm~前面講了那麼多,終於可以稍稍的正式進入另一個階段,沒錯,要開始寫判斷式了 這次先從最簡單的判斷式開始,if else 開始- Go 首先,之前有寫有一個簡單的互動式 用戶輸入 的代碼,忘記了嗎 ...
- Python 基礎 - pyc 是什麼
Python2.7 版中,只要執行 .py 的檔案後,即會馬上產生一個 .pyc 的檔案,而在 Python3 版中,執行 .py 的檔案後,即會產生一個叫 __pycache__ 的目錄,裡面也會有 ...
- Python 基礎 - 文件操作_v2
嗯,那如何要把游標的位置給打印來? #!/usr/bin/env python3 # -*- coding:utf-8 -*- f = open('test', 'r') print(f.tell() ...
- Python 基礎 - 字典的操作使用
接下來介紹字典,這在未來工作上,會是很常使用的,就來好好了解一下唄- 字典是一個 key(鍵)-value(值) 的數據類型,可以儲存很多訊息 #!/usr/bin/env python3 # -*- ...
- Python 基礎 - 字符串常用操作
字符串常用操作 今天就介紹一下常用的字符串操作,都是以 Python3撰寫的 首字母變大寫 #!/usr/bin/env python3 # -*- coding:utf-8 -*- name = & ...
- GO語言基礎教程:流程控制
在開始一個新的章節之前先來回顧上一篇文章的部份,首先我們來看這段代碼: package main import ( "fmt" ) func main(){ var x,y int ...
- Python 基礎 - 集合的使用
集合是一個無序的,不重複的數據組合,主要的作用如下 去重,把一個列表變成集合,就會自動去重了. 關係測試,測試二組數據之前的交集.差集.聯集等關係. 接下來我們來實作看看什麼是去重 #!/usr/bi ...
- python基礎學習第二天
字符编码 # 需知:## 1.在python2默认编码是ASCII, python3里默认是unicode## 2.unicode 分为 utf-32(占4个字节),utf-16(占两个字节),utf ...
随机推荐
- 【设计模式】常用de单例模式
> 单例模式 单例模式,是常见的设计模式之一,一般来说,是程序员较早接触的模式之一.嘻嘻,包括我~~~ > 分类 一般来说,分两种: 饿汉模式.非常饿嘛,一上来就加载了,所以,就是非延迟加 ...
- Xcode代码提示联想功能失效,按command键点不进去类库,提示“?”
参考文档:这两篇文章很好的解决了问题.可以很好的解决了问题 Xcode代码提示联想功能失效,按command键点不进去类库,提示“?”,代码全是白色 Xcode4中代码补全(Code Completi ...
- SQL Server 2012 管理新特性:AlwaysOn【转】
http://jimshu.blog.51cto.com/3171847/871169 见超链接
- HDU-4527 小明系列故事——玩转十滴水 模拟
题意:就是平时玩的十滴水游戏,游戏者拥有一定的水滴,能够滴在某些位置,如果一个点上的体积超过了4就会爆炸,向四周传递一个小水滴.该题就是要求模拟这个过程. 分析:这里有一个问题就是不能够使用递归来处理 ...
- android sdk 更新那些文件
上篇经验,完成了android开发环境的搭建,相信大家也下载了那1.52G,已经下载好了的Adt_bundle. 那么,我们来点击SDK Manager.exe,看看有些什么吧 2 如图所示,为整个目 ...
- JQuery的概述
一.什么是 jQuery 1.jQuery是一个JavaScript库,jQuery 极大地简化了 JavaScript 编程.它通过封装原生的JavaScript函数得到一整套定义好的方法. 2.它 ...
- cube定时器延时不准确原因
昨天晚上测试32cube配置好定时器,以1ms为一次中断,然后在程序中做了一个1s的延时,结果发现实际延时5s左右,百思不得其解,仔细查看cube配置也没问题.最后我打开生成工程文件夹里面的ioc文件 ...
- 解决安装vc2005运行库时提示Command line option syntax error.Type Command/?for Help
安装vc2005运行库时提示 这是因为它要自解压到用户的临时文件夹下,如果用户名中带中文,就会报错. 简单的解决方法是,手动解压之,再安装 当然,你也可以修改用户名或者再新建个用户.
- 51nod 1264 线段相交(几何)
题目链接:51nod 1264 线段相交 如果两条线段相交,则需满足一条线段的一个端点在另一条线段上,或者 两条线段都分别跨越另一条线段延伸的直线上.(如果点p1位于直线p3p4的一边,而点p2位于该 ...
- iScroll4.2.5中的无法滑动或点击的解决方案(转)
又见iScroll问题,特别是三星手机和iPhone,顺便提一句,现在的项目中他们给div加了height属性来解决不能滚动问题,个人认为是个非常愚蠢的解决方案,我必须使用media query来解决 ...