定义一个函数以重复一个词

0 投票
2 回答
5815 浏览
提问于 2025-04-17 05:12

我正在尝试做一个教程中的任务,目的是定义一个函数,这个函数可以把用户输入的单词重复指定的次数。到目前为止,我写了:

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)

撰写回答