首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

全民编程——Python小短课,自上而下分而治之

【Python小短课 11】自上而下,分而治之

做任何事都需计划,编程也是。

譬如写文章要列大纲、作画要想布局,编程也需先谋全局,而后思虑细节。

就以上回说到的“找宝藏”这个程序举例,最顶层的需求自然就是“找宝藏”,而进行分解发现还需实现“判断是不是比神兽弱”“判断是否好运”这两个功能,接着,我们针对这两个功能也想分解,发现已经太简单,那就不需分解了。

代码:

#!/usr/bin/python

# -*- coding: UTF-8 -*-

import random

#实现“判断是不是比神兽弱”

def isWeakerThanBeast ():

iRan = random.randint(1,10)

if iRan

return True

else:

return False

#实现“判断是否好运”

def isLucky ():

iRan = random.randint(1,10)

if iRan

return True

else:

return False

#实现“找宝藏”

def findTreasure ():

iCount = 0

while True:

iCount = iCount + 1

#判断是不是比神兽弱

if isWeakerThanBeast():

continue

#判断是否好运

if isLucky():

break

print(str(iCount)+"次找到宝藏")

#执行“找宝藏”需求

findTreasure()

运行结果:

从功能来说和上一回学的“找宝藏”程序完全一样,不一样的是我们对“找宝藏”这个需求(findTreasure)进行了自上而下的分解,最终分解出两个子需求“判断是不是比神兽弱”(isWeakerThanBeast)“判断是否好运”(isLucky)。

def是什么,跟大家简单提一句,是Python世界里定义函数的语句,而函数则实现了我们对需求的分解。

各位小萌新暂时并不需理解太多细节或者语法,只需细细体会“自上而下,分而治之”这个思路。

关于函数的好处和更多细节,且待后面再行分解。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190625A0T3LV00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券