Crossin的编程教室

标题: 罚球小程序函数提炼 [打印本页]

作者: trista009    时间: 2018-9-20 16:36
标题: 罚球小程序函数提炼
本帖最后由 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))

作者: trista009    时间: 2018-9-20 16:38
27课的习题内容
作者: crossin先生    时间: 2018-9-20 22:51
挺好。

还可以再提炼,因为循环里上下两部分其实很类似,只是其中一些变量不同。这个抽象要更复杂一点




欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/) Powered by Discuz! X2.5