3.3 Python3 基础 - 循环结构之循环嵌套
>>返回主目录
源码
# Author:PortosHan
# Datetime:2021/3/18 18:14
# Project:zbcf_python_lesson_project
import random
# 练习1:打印99乘法表(for和while相互嵌套)
"""
思路:首先要知道99乘法表的样子,找出其中的规律,其次分析出外循环和内循环的变量取值范围,最后分析出需要换行的地方
1*1=1
1*2=2 2*2=4
... ...
1*9=9 2*9=18 ... 9*9=81
"""
# for循环嵌套
print('************************以下是for循环嵌套************************')
for i in range(1, 10):
for j in range(1, i + 1): # 注意每次i重新赋值后,j都从1开始
print(j, '*', i, '=', i * j, end='\t')
print()
# while循环嵌套
print('************************以下是while循环嵌套************************')
i = 1
while i < 10:
j = 1 # 初始化内循环变量,因j每次都要从1开始,故j只能写在外循环内部与内循环平级
while j < i + 1:
print(j, '*', i, '=', i * j, end='\t')
# print(f'{j} * {i} = {j * i}', end='\t') # 另一种打印写法
j += 1
print()
i += 1
# while嵌套for
print('*' * 30 + 'while嵌套for' + '*' * 30)
i = 1
while i < 10:
for j in range(1, i + 1):
print(j, '*', i, '=', i * j, end='\t')
print()
i += 1
# for嵌套while
print('************************for嵌套while************************')
for i in range(1, 10):
j = 1
while j < i + 1:
print(j, '*', i, '=', i * j, end='\t')
j += 1
print()
# 练习2:完善:猜骰子大小游戏(循环和条件嵌套)
# 游戏规则:
# 1、可重复玩
# 2、只能输入“大”或“小”
# 3、知道当前游戏的局数
for i in range(1, 4): # 重复玩多次,循环变量i可作为局数
dice_no = random.randint(1, 6) # 随机生成1~6的点数
guess_no = input(f'第{i}局:骰盅落定,压大压小,买定离手:')
# if guess_no == '大' or guess_no == '小': # 可以直接使用此判断即可满足
# 下列语法分析:if guess_no判断非空,and和or优先级区分不清的,可以添加小括号()增加可读性,not guess_no.isnumeric()判断非数字
if guess_no and (guess_no == '大' or guess_no == '小') and not guess_no.isnumeric():
if 1 <= dice_no <= 3:
winner = '小'
if guess_no == winner:
print(f'恭喜您赢了!骰子点数是:{dice_no},买{winner}赢!')
else:
print(f'压错了,骰子点数是:{dice_no},买{winner}赢!')
else:
winner = '大'
if guess_no == winner:
print(f'恭喜您赢了!骰子点数是:{dice_no},买{winner}赢!')
else:
print(f'压错了,骰子点数是:{dice_no},买{winner}赢!')
else:
print('只能输入“大”或“小”!')
>>返回主目录
作者: PortosHan
出处: https://www.cnblogs.com/PortosHan/
关于作者:专注于软件测试、测试开发等领域,请多多赐教!
本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。 原文链接 如有问题,可邮件(bhanzdan@163.com)咨询。