设为首页收藏本站

Crossin的编程教室

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

模块的调用测试

[复制链接]

2

主题

0

好友

42

积分

新手上路

Rank: 1

跳转到指定楼层
楼主
发表于 2017-8-17 08:47:29 |显示全部楼层 |倒序浏览
在 L38_module.py 程序中内容如下:

# === 引用其他定义的模块

from L26_football_game_funcation import countsocre

其中  L26_football_game_funcation 为前期测试执行过的程序,内容如下:

from random import choice

direction = ['left','center','right']

def countsocre():
    youscore = 0
    comscore = 0
    for i in range(3):
        print ('Please input your shoot dirction from left,center or right')
        you = input()
        print ('You choice kicked ' + you)
        com = choice(direction)
        print ('Computer saved ' + com)
        if you != com:
            print ('Goal!!!')
            youscore = youscore + 1
        else:
            print ('Oops...')
            comscore = comscore + 1
    if youscore > comscore:
        print('Congratulations,You win!!!')
    else:
        print('Not bad,just lost %d point' % comscore - youscore)
    return (youscore,comscore)

l = countsocre()

print ('The socre you : com is %d : %d' % l)

当执行  L38_module.py 的时候,我理解应该仅作countsocre函数,但实际上却是执行了该函数,开始同用户进行了交互,这个情况同调用choice等函数不同,这个是为啥?



回复

使用道具 举报

2

主题

0

好友

42

积分

新手上路

Rank: 1

沙发
发表于 2017-8-17 08:49:19 |显示全部楼层
当前使用版本为 3.4.4
回复

使用道具 举报

2

主题

0

好友

42

积分

新手上路

Rank: 1

板凳
发表于 2017-8-17 16:29:23 |显示全部楼层
crossin先生 发表于 2017-8-17 10:57
import的时候,下面这些代码全都会被执行的。

如果只要定义,不要执行调用,你应该把调用放在 if __name ...

多谢boos回复哟,哈哈好激动的

我刚在新手村转悠到模块这个地方,还没有深入看,so,上面的代码调整还不大看得懂,可以再进一步说明一下么?

谢谢啦!
回复

使用道具 举报

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

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

GMT+8, 2024-5-3 12:31 , Processed in 0.025450 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部