初学Python,请大家帮忙

初学Python,请大家帮忙

请教一个问题,下面是我练习用的两段代码,
请强人帮忙看一下为什么运行结果会不一样,
第二段运行结果为什么会出现"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)
这样不行呀,为什么呢?
谢谢指教
很简单,因为函数say没有返回东西,所以默认是返回None.

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

或者say改成:

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

就行了


QUOTE:
另:如果用键盘输入来获取打印次数,代码应该怎么写?
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)
看2楼和3楼的讲解, 受益匪浅 ,非常感谢
晚上回家试一下, 期待ing
非常感谢2楼和3楼的前辈

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