定义一个函数以重复一个词
我正在尝试做一个教程中的任务,目的是定义一个函数,这个函数可以把用户输入的单词重复指定的次数。到目前为止,我写了:
s = raw_input("Enter a word:")
n = input("Enter a number:")
def repeat_this(s, n):
print s * n
但是在这个叫做 repeat_this 的函数里,s 和 n 这两个变量没有被局部定义。我在函数内部定义 s 和 n 时,用户输入的部分却无法正常工作。有没有人能给我一些建议,告诉我怎么才能让这个功能正常运作?
注意:当我运行这个包含代码的文件时,它会接受 s 和 n 的输入,但接着会留下一行空白,然后开始一个新的空行,这时候 repeat_this 还没有被定义。
2 个回答
0
除了里面的打印功能,你的 repeat_this()
函数实际上就像是一个乘法运算符,它本身也可以单独作为一个函数使用:
from operator import mul
s = raw_input("Enter a word:")
n = input("Enter a number:")
print mul(s, n)
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)