python基础语法–循环语句的使用1 for…in…循环 1.1 空房间 1.2 range()函数 2 while 循环语句 2.1 放行条件 2.2 两种循环对比 - [ 练习作业] (题1) 选择性打印数字 (题 2) 换座位 3 用数据做判断 3.1 布尔运算:用数据做逻辑判断 3.2 布尔值:True (真)和False(假) 4 四个新语句 4.1 break 语句 4.2 continue 语句 4.3 pass 语句 4.4 else 语句 - [ 练习作业] (题1) 囚徒困境 (题 2) 囚徒困境(2) (题 3) 查字典
循环语句使得计算机能够重复性地、自动地执行指令
1 for…in…循环语句#代码
list=[1,2,3,4,5,6]for i in range(6):
print(list[i])#显示1234561234567891011 #代码
#列表取元素for i in [1,2,3,4,5,6]:
print(i)#列表取键值
dict = {'日本':'东京','英国':'伦敦','法国':'巴黎'}for i in dict:
print(i)#字符串取每个字符(整数、浮点数都是字符串)for i in '吴承恩':
print(i)a = '100'b = '0.01'for i in a:
print(i)for i in b:
print(i)#显示123456日本
英国
法国
吴
承
恩1000.0112345678910111213141516171819202122232425262728293031323334353637383940414243 #代码
#固定代码重复:for i in range(3):
print('我很棒')for i in range(8):
print('书桓走的第'+str(i)+'天,想他')# 取数间隔:for i in range(0,10,3):
print(i)
# 用for循环完成1-100分别乘以5的计算for i in range(1,10):
print(i*5)#显示
我很棒
我很棒
我很棒
书桓走的第0天,想他
书桓走的第1天,想他
书桓走的第2天,想他
书桓走的第3天,想他
书桓走的第4天,想他
书桓走的第5天,想他
书桓走的第6天,想他
书桓走的第7天,想他036951015202530354045123456789101112131415161718192021222324252627282930313233343536373839 2 while 循环#代码
a = 0 #先定义变量a,并赋值while a < 5: #设定一个放行条件:a要小于5,才能办事
a = a + 1 # 满足条件时,就办事:将a+1
print(a) # 继续办事:将a+1的结果打印出来
#显示123451234567891011 #代码:输入密码验证:
password = '' # 变量password用来保存输入的密码while password!='816':
password=input('尝试输入密码:')print('欢迎回家!')#显示
尝试输入密码:123尝试输入密码:222尝试输入密码:22尝试输入密码:556尝试输入密码:81尝试输入密码:816欢迎回家!12345678910111213 for…in…与while…循环对比:#代码print('用for..in..循环把诗句打印3遍')for i in range(1,4) :
print('明日复明日,明日何其多。')print('用while...循环把诗句打印3遍')j = 1while j<4 :
print('明日何其多,明日何其多。')
j =j+1#显示
用for..in..循环把诗句打印3遍
明日复明日,明日何其多。
明日复明日,明日何其多。
明日复明日,明日何其多。
用while...循环把诗句打印3遍
明日何其多,明日何其多。
明日何其多,明日何其多。
明日何其多,明日何其多。12345678910111213141516171819 【练习题】1 循环打印分析: for …in…;while… 都可
#代码print('# while 循环')n = 0while n < 7:
n = n+1
if n != 4: # 当num != 4,执行打印语句;等于4时不打印。 print(n)print('# for 循环')for num in range(1,8): # 为同时能运行两个循环,新取参数 num。 if num != 4: # 当num != 4,执行打印语句;等于4时不打印。 print(num)12345678910111213 #输出显示:
# while 循环123567# for 循环12356712345678910111213141516 3 用数据做判断while循环要执行,while后的条件必须为“真”!! ①while 条件判断: 先判断,若条件为真,顺利执行直到条件更为假;若条件恒为假不执行,恒为真一直执行。 ②while False:不执行;while True: 一直执行 san 4 四个新语句# break语句搭配for循环for...in...:
...
if ...:
break
#break语句搭配while循环while...(条件):
...
if ...:
break1234567891011 if前缩进4空格,break前缩进8空格 #例子:while True:
print('上供一对童男童女')
t = input('孙悟空来了么?')
if t == '来了':
breakprint('齐天大圣来也,制服了鲤鱼精,陈家庄再也不用上供童男童女了')1234567 #输出显示:
上供一对童男童女
孙悟空来了么?k
上供一对童男童女
孙悟空来了么?来了
齐天大圣来也,制服了鲤鱼精,陈家庄再也不用上供童男童女了1234567 # continue语句搭配for循环for...in...:
...
if ...:
continue
...#continue语句搭配while循环while...(条件):
...
if ...:
continue
...123456789101112 print('梦姑西夏选驸马的故事:只有连续答对三个问题,才能判定他就是西夏公主的意中人;否则,只要有任何一题错,都要换人从头开始回答问题。')while True:
q1 = input('第一问:你一生之中,在什么地方最是快乐逍遥?')
if q1!='黑暗的冰窖':
continue #直接回到while
print('答对第一问,下面是第二问:')
q2 = input('第二问:你生平最爱之人,叫什么名字?')
if q2!='梦姑':
continue #直接回到while
print('答对第二问,还有最后一问:')
q3 = input('第三问:你最爱的这个人相貌如何?')
if q3 == '未看清楚':
breakprint('都答对了,你是虚竹,正是我要挑选的驸马。')1234567891011121314 #输出显示:
梦姑西夏选驸马的故事:只有连续答对三个问题,才能判定他就是西夏公主的意中人;否则,只要有任何一题错,都要换人从头开始回答问题。
第一问:你一生之中,在什么地方最是快乐逍遥?家里
第一问:你一生之中,在什么地方最是快乐逍遥?黑暗的冰窖
答对第一问,下面是第二问:第二问:你生平最爱之人,叫什么名字?莫莫
第一问:你一生之中,在什么地方最是快乐逍遥?黑暗的冰窖
答对第一问,下面是第二问:第二问:你生平最爱之人,叫什么名字?梦姑
答对第二问,还有最后一问:第三问:你最爱的这个人相貌如何?美丽动人
第一问:你一生之中,在什么地方最是快乐逍遥?黑暗的冰窖
答对第一问,下面是第二问:第二问:你生平最爱之人,叫什么名字?梦姑
答对第二问,还有最后一问:第三问:你最爱的这个人相貌如何?未看清楚
都答对了,你是虚竹,正是我要挑选的驸马。123456789101112131415161718 a = int(input('请输入一个整数:'))if a >= 100:
passelse:
print('你输入了一个小于100的数字')12345 #输出显示:
请输入一个整数:20你输入了一个小于100的数字
Process finished with exit code 0请输入一个整数:200Process finished with exit code 012345678 for i in range(5):
a = int(input('请输入0结束循环,你有5次机会:'))
if a == 0:
print('你触发了break语句,导致else语句不会生效。')
breakelse:
print('5次循环你都错过了,else语句生效了。')1234567 # 把之前这段for循环的代码改成while循环,要求运行效果相同
i=0while i<5:
i=i+1
a = int(input('请输入0结束循环,你有5次机会:'))
if a == 0:
print('你触发了break语句,导致else语句不会生效。')
breakelse:
print('5次循环你都错过了,else语句生效了。')12345678910 #输出显示:
请输入0结束循环,你有5次机会:1请输入0结束循环,你有5次机会:1请输入0结束循环,你有5次机会:1请输入0结束循环,你有5次机会:2请输入0结束循环,你有5次机会:35次机会你都错过了,else语句生效了。
# 把之前这段for循环的代码改成while循环,运行效果相同
请输入0结束循环,你有5次机会:1请输入0结束循环,你有5次机会:1请输入0结束循环,你有5次机会:1请输入0结束循环,你有5次机会:2请输入0结束循环,你有5次机会:35次机会你都错过了,else语句生效了。123456789101112131415 break,continue必须与if语句连用,pass常在if下。
‘:循环游戏:猜大小游戏编程:’print('猜数字大小游戏开始:')a=24while True:
answer =int(input('你来猜我想的数字是什么?'))
if answer<a:
print('猜小了,再猜')
if answer>a:
print('猜大了,再猜')
if answer ==a:
print('恭喜你猜对了')
break123456789101112 #输出显示:
猜数字大小游戏开始:你来猜我想的数字是什么?1猜小了,再猜
你来猜我想的数字是什么?50猜大了,再猜
你来猜我想的数字是什么?25猜大了,再猜
你来猜我想的数字是什么?23猜小了,再猜
你来猜我想的数字是什么?24恭喜你猜对了12345678910111213 print('猜数字大小游戏开始,你来猜我想的数字是什么?')a=24for i in range(1,4):
print('这是第' + str(i) + '次猜哟!')
answer =int(input('输入数字:'))
if answer==a:
print('恭喜你猜对了呢!')
break
elif answer>a:
print('猜大了,再猜')
elif answer<a:
print('猜小了,再猜')else:
print('你已经猜错三次了,失败了,正确答案是'+str(a))1234567891011121314 #输出显示:
猜数字大小游戏开始,你来猜我想的数字是什么?
这是第1次猜哟!
输入数字:1猜小了,再猜
这是第2次猜哟!
输入数字:3猜小了,再猜
这是第3次猜哟!
输入数字:23猜小了,再猜
你已经猜错三次了,失败了,正确答案是2412345678910111213 【练习题】1 囚徒困境请写个代码:当两人都抵赖时,打印判决,代码结束;若为其他结果,则在打印判决后继续循环。
|