3.4 Python3 基础 - 循环结构之 break / continue / else / pass 语句
>>返回主目录
源码
# break和continue的区别
sum_no = 0
for i in range(1, 11):
if i % 3 == 0:
break
# continue
sum_no = sum_no + i
print('sum_no = ', sum_no)
源码
# for或while结束后使用else子句
sum_no = 0
i = 0 # 初始化i,否则else里面的i会提示未定义
for i in range(1, 11):
if i % 3 == 0:
# break
continue
sum_no = sum_no + i
else:
print('i = ', i)
print('sum_no = ', sum_no)
源码
# pass语句
for i in range(5):
pass
print('程序不报错,直接输出!')
源码
# 练习:已知str_word = 'I Love Python!',输出不包含字母‘o’的新字符串
str_word = 'I Love Python!'
new_word = ''
for i in str_word:
if i == 'o':
pass
else:
new_word = new_word + i
print('输出不包含字母‘o’的新字符串是:', new_word)
源码
# Author:PortosHan
# Datetime:2021/3/25 16:35
# Project:zbcf_python_lesson_project
"""
练习:猜数字游戏(循环语句和条件语句互相嵌套)
游戏规则:
1、必须输入姓名,输错或未输入最多3次重试机会
2、随机生成一个50以内的正整数
3、输入猜测的数字,若猜错,提示大或小,继续猜测
4、猜测次数上限5次(可自行设置)最后一次告知结果
5、猜对游戏结束,猜错可玩3次
思路:
首先,先来了解下“猜数字游戏”的过程:系统随机生成一个50以内的正整数,
然后由我们去猜测这个数字,猜对了就结束游戏,猜错了系统会提示我们
猜大了还是猜小了,第五次如果还没有猜对,则告诉我们正确答案!
其次,我们根据游戏规则,粗略写出大致的伪代码,如:
for _ in range(3): # 外循环,姓名3次重输机会
random.randint(1, 50) # 系统生成一个50以内的随机正整数
input('输入一个猜测的数字')
for guess_limit in range(1, 6): # 内循环,猜数字游戏具体实现,5次猜测机会
if int(guess_no) > random_no: # 猜大
elif int(guess_no) < random_no: # 猜小
else: # 猜对
break # 跳出循环
"""
import random
"""以下代码逻辑也基本是按照伪代码|游戏规则去完成的,大家可以根据自己的理解进行优化"""
flag = False # 设置一个是否跳出循环的flag
print('----------------游戏开始,欢迎大驾光临!----------------')
# 外循环,玩3次,可自行设置次数
for _ in range(3):
name = input('请输入您的姓名:')
if name:
print(f'亲爱的{name},欢迎进入“数字猜猜猜”游戏!')
random_no = random.randint(1, 50)
limit_no = 5 # 设置一个猜测次数
print(f'现在系统已经生成一个50以内的正整数,若{limit_no}次没有猜中,将结束本次游戏!')
# 内循环,猜5次
for guess_limit in range(1, limit_no + 1):
guess_no = input('请输入您心中所想的1~50之间的整数:')
if guess_no and guess_no.isnumeric(): # 第一层判断猜测的数字非空且为数字
if 0 <= int(guess_no) <= 50: # 第二层判断猜测的数字在50以内
if int(guess_no) > random_no: # 第三层判断猜测的数字比生成的数字大
if guess_limit < 5: # 第四层判断猜测的次数小于5
print(f'第{guess_limit}次猜测,您猜的数字“大”了!')
else: # 第四层分支判断猜测的次数等于5
print(f'您的次数已用尽,最终心怡数字是:{random_no}')
elif int(guess_no) < random_no: # 第三层分支判断猜测的数字比生成的数字小
if guess_limit < 5: # 第四层判断猜测的次数小于5
print(f'第{guess_limit}次猜测,您猜的数字“小”了!')
else: # 第四层分支判断猜测的次数等于5
print(f'您的次数已用尽,最终心怡数字是:{random_no}')
else: # 第三层分支判断猜测的数字等于生成的数字
print(f'第{guess_limit}次猜测,恭喜您,猜对了!')
flag = True # 把flag重置为True
break # 猜对跳出循环
else:
print('您输入的数字有误,请重新输入50以内的正整数!')
elif guess_no == 'q':
print('您已放弃此轮猜测,请重新开始游戏!')
else:
print('您已弃权一次猜测机会,请重新输入!')
else:
print('您输入的姓名有误,请重新输入您的姓名!')
if flag: # 猜对后,用于跳出外层循环
break
print('----------------游戏结束,欢迎再次光临!----------------')
>>返回主目录
作者: PortosHan
出处: https://www.cnblogs.com/PortosHan/
关于作者:专注于软件测试、测试开发等领域,请多多赐教!
本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。 原文链接 如有问题,可邮件(bhanzdan@163.com)咨询。