设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 14200|回复: 2
打印 上一主题 下一主题

罚球小程序函数提炼

[复制链接]

4

主题

0

好友

46

积分

新手上路

Rank: 1

跳转到指定楼层
楼主
发表于 2018-9-20 16:36:24 |只看该作者 |倒序浏览
本帖最后由 trista009 于 2018-9-20 16:57 编辑

第27课的罚球小程序,后面说要提炼出来一个函数,我是这样提炼的,不知道是不是这个意思,只是提炼了对比的部分,其他部分也有可以提炼的内容吗



from random import choice


def equal(part, skin, save, score):
    if save != skin:
        print(part + '进球了!')
        score += 1
        return score
    else:
        print('防守成功!')
        return score


score_my = 0
score_com = 0
direction = ['左', '右', '中']

for i in range(5):
    print('=== 第 %d 场比赛'%(i+1))
    print('你是攻方')
    print('请输入你的攻击方向:')
    my_skin = input()
    print('你的攻击方向是:'+my_skin)
    com_save = choice(direction)
    print('电脑的防守方向是:'+com_save)
    score_my = equal('我', my_skin,com_save,score_my)
    print('比分:%d(我方)——%d(电脑)' % (score_my, score_com))

    print('=== 第 %d 场比赛' % (i + 1))
    print('你是防守')
    print('请输入你的防守方向:')
    my_save = input()
    print('你的防守方向是:' + my_save)
    com_skin = choice(direction)
    print('电脑的攻击方向是:' + com_skin)
    score_com = equal('电脑', com_skin, my_save, score_com)
    print('比分:%d(我方)——%d(电脑)' % (score_my, score_com))
回复

使用道具 举报

4

主题

0

好友

46

积分

新手上路

Rank: 1

沙发
发表于 2018-9-20 16:38:19 |只看该作者
27课的习题内容
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

板凳
发表于 2018-9-20 22:51:12 |只看该作者
挺好。

还可以再提炼,因为循环里上下两部分其实很类似,只是其中一些变量不同。这个抽象要更复杂一点
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-11-25 16:16 , Processed in 0.023902 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部