2011-10-28 38 views
0

我试图做从教程,是定义将重复输入的单词的输入次数的功能任务,所以到目前为止,我有:定义一个函数重复字

s = raw_input("Enter a word:") 
n = input("Enter a number:") 

def repeat_this(s, n): 
    print s * n 

但是s和n没有在repeat_this本地定义,但是当我在函数中定义s和n时,我无法让用户输入工作,任何人都可以提供有关如何使其工作的任何提示?

N.B.当我运行包含这个文件的文件时,它接受s和n的输入,但是留下一个空行并开始一个新的空行,在这里重复 - 没有定义。

+0

你在哪里调用该函数/ method - repeat_this(s,n)并传递值? 您需要调用该函数才能打印输出。 – srock

回答

2

你没有调用该函数。这增加了脚本的末尾:

repeat_this(s, n) 

而且,你的投入都应该raw_input()(强制使用int(),而不是危险的,允许Python来分析它的整数),并可能应该去函数定义如下(它会以任何方式工作,但将所有脚本内容放在函数和全局变量定义下方的样式会更好)。全部放在一起:

def repeat_this(s, n): 
    print s * n 

s = raw_input("Enter a word:") 
n = int(raw_input("Enter a number:")) 
repeat_this(s, n) 
+0

@kindall好点,做得好,我不希望有人现在进入浮动我会哈哈,谢谢你的帮助,非常感谢。 –

+0

@RayToal没有赢家,我会诚实地看到你的第一个,并且当你删除帖子时即将发表评论! –

+1

不仅有人可以输入一个浮点数,但他们可以输入一个列表,一个字典,一个集合,'__import __(“sys”)。exit(1)'(从而退出整个Python解释器)或任何其他合法的Python表达式,其中许多可以做你可能不想做的事情。 – kindall

0
从嵌入式打印

除此之外,您repeat_this()功能是有效的乘法运算符,它可以作为一个函数在它自己的:

from operator import mul 

s = raw_input("Enter a word:") 
n = input("Enter a number:") 

print mul(s, n) 
相关问题