免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2219 | 回复: 4
打印 上一主题 下一主题

初学Python,请大家帮忙 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-07 18:55 |只看该作者 |倒序浏览
请教一个问题,下面是我练习用的两段代码,
请强人帮忙看一下为什么运行结果会不一样,
第二段运行结果为什么会出现"None"??
第一段:
m = raw_input('Enter something:')
print 'This will print your message*len:', m * len(m)

第二段:
def say(message, times):
        print message * times
m = raw_input('Enter something:')
print 'This will print your message*len:', say(m, len(m))

# OS:MS-DOS       Versionython 2.5b2
请不吝赐教, 谢谢


另:如果用键盘输入来获取打印次数,代码应该怎么写?
def say(message, times):
        print message * times
m = raw_input('Enter something:')
n = raw_input('Enter the times:')
print 'This will print your message*len:', say(m, n)
这样不行呀,为什么呢?
谢谢指教

论坛徽章:
0
2 [报告]
发表于 2006-08-07 22:51 |只看该作者
很简单,因为函数say没有返回东西,所以默认是返回None.

最后一句话改成:
print 'This will print your message*len:',
say(m, n)

或者say改成:

def say(message, times):
        return message * times

就行了

论坛徽章:
0
3 [报告]
发表于 2006-08-07 23:05 |只看该作者
另:如果用键盘输入来获取打印次数,代码应该怎么写?
def say(message, times):
        print message * times
m = raw_input('Enter something:')
n = raw_input('Enter the times:')
print 'This will print your message*len:', say(m, n)
这样不行呀,为什么呢?


n = int( raw_input( 'Enter the times:'))       # 將 input 的數字(string) 轉換成 數字(integer)

论坛徽章:
0
4 [报告]
发表于 2006-08-08 12:46 |只看该作者
看2楼和3楼的讲解, 受益匪浅 ,非常感谢
晚上回家试一下, 期待ing

论坛徽章:
0
5 [报告]
发表于 2006-08-09 20:01 |只看该作者
非常感谢2楼和3楼的前辈

尤其是3楼的int(), 又学到东西了

[ 本帖最后由 cat_x0041 于 2006-8-9 20:04 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP