用python循环帮皇帝选妃

在古代,皇帝后宫佳丽三千,这么多的妃子可都是皇帝从众多秀女中一个个选出来的,今天我们来用python模拟帮皇帝选妃。

 

程序的循环可以处理大量的重复性工作,这是程序一个很重要的优势,在python中主要有两种循环方式,一个是 for 循环,一个是 while 循环,这两个循环都能实现相同的效果,只是用法有些不一样。

 

先来看下 for 循环的结构以及一个简单例子。for 循环主要用来遍历list数组、dict字典中的元素。

 

# for in 循环结构
# list 为数组或字典,x即为数组或字典中的元素
for x in list:
    print('这里会输出数组中的元素')

 

feizi = ['孝贤纯皇后','皇后辉发那拉氏','孝仪纯皇后','慧贤皇贵妃','纯惠皇贵妃','淑嘉皇贵妃','庆恭皇贵妃']

print('乾隆的妃子有:')

for x in feizi:    
    print(x)

 

再来看下 while 循环的结构和例子。while 也很简单,就是只要满足条件就一直循环执行,直到当不再满足条件就结束。

 

while True:
    print('只要满足上面的条件,我就会一直有输出')

 

sum = 0
n = 100
print('我要一口气算出 1到100之间所有整数之和')
while n > 0:
    sum = sum + n
    n = n - 1
print(sum)

 

在 python 循环中,还有两个关键字可以对循环进行特殊控制,一个是 break ,break 可以直接控制程序终止循环。另一个 continue ,continue则可以控制结束当前本次循环,即该循环下面的语句不再循环,直接进入下一次循环了。我们下面将使用一个皇帝选妃的例子来详细解释下。

 

# 这个数组代表每个秀女 源码来自公众号:谭某人
xiunv = [{'name':'秀女A', 'age':'20', 'height':'160'}, {'name':'秀女B', 'age':'19', 'height':'158'}, {'name':'秀女C', 'age':'23', 'height':'165'}]
count = 0

for x in xiunv:    
    if int(x['age']) > 22: #如果年龄大于22 则直接淘汰不考虑,即循环下一个秀女
        print('年龄太大了,直接下一个')
        continue
    if int(x['height']) < 155: #如果身高低于155 则直接淘汰不考虑,即循环下一个秀女
        print('身高不够,直接下一个')
        continue

    count += 1

    if count > 5: #皇帝本次只选5名秀女,如果已到5名就直接终止循环结束程序
        print('已经选满了,不选了')
        break

 

最后需要一点的是,循环虽然好用,但是一定要注意避免写成了死循环。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值