我很难理解如何使用功能 - 我可以做到,但之后我不知道如何使用它们。我的问题是如何用函数打印这段代码?
string = "Hello"
reverse = string[::-1]
print(reverse)
我尝试将它放在一个函数中,但我不能让它打印Hello。
def reverse_a_string(string):
string = "Hello"
reverse = string[::-1]
print(reverse)
也试过这个
def reverse_a_string(string):
string = "Hello"
reverse = string[::-1]
print(reverse)
似乎没什么用。我也有同样的问题。
total = 0
def length(words):
for i in words:
total += 1
return total
答案 0 :(得分:2)
创建功能后,您必须调用它。您已创建函数reverse_a_string
,但之后您实际上从未调用它。将一个函数看作一个按钮,每次按下它时都会执行某些操作(或者在我们的情况下调用)。如果你从不按下按钮,那么虽然它有可能做某事,但它永远不会。为了使指令集发生,我们需要按下按钮(或者在我们的情况下调用函数)。因此,为了使代码工作,首先需要定义函数然后实际调用它:
def reverse_a_string():
string="Hello"
reverse = string[::-1]
print reverse
reverse_a_string()
结果:'olleH'
如果你想将自己的字符串传递给函数,那么它不会只是在你的代码看起来像这样的时候返回'olleH':
def reverse_a_string(stringThatWillBeReversed):
reverse = stringThatWillBeReversed[::-1]
print reverse
reverse_a_string('whateverStringYouWant')
结果:您输入的字符串的反向。
希望有所帮助!
答案 1 :(得分:2)
仅执行操作或执行某些操作而不返回值的函数(例如,print
)
不返回值的函数可以定义为:
def sayHello():
print "Hello!"
可以像这样使用(调用):
sayHello()
输出将是:
您好!
函数还可以从调用者接收参数(变量类型)。用一个例子来演示它会更好 一个接收名称并接受此名称的函数:
def sayHelloTo(name):
print "Hello", name
可以这样称呼:
sayHelloTo("Yotam")
输出将是:
你好Yotam
参数是函数的输入。
与sayHello()
或sayHelloTo(name)
(只是做某事)不同的其他功能可以返回一个值。例如,让我们创建一个掷骰子的函数(返回1到6之间的随机数)。
来自随机导入randint
def rollDice():
result = randint(1, 6)
return result
return
关键字只设置函数的output value
并退出函数。 rollDice
函数的一个示例用法是:
dice = rollDice()
print "The dice says", dice
当函数命中return
关键字时,它结束并返回值(在我们的例子中,变量result
)而不是函数调用。让我们假设randint(1, 6)
产生了数字3
结果变为3.
结果返回
现在,而不是行:
dice = rollDice()
我们可以将该行视为:
dice = 3
(rollDice()
已替换为3
)
某些函数(例如,数学函数)可以接受输入并生成输出。例如,让我们创建一个接收2个数字并输出更大数字的函数。
def max(a,b):
if a > b:
return a
else:
return b
它做得很清楚,不是吗?如果a
更大,则返回它的值。否则,返回b
的值。
它可以这样使用:
print max(4, 6)
输出将是:
6
你想要做的是一个反转字符串的函数。它应该采用1个参数(输入) - 要反转的字符串,并输出1个值 - 反向字符串。这可以这样完成:
def reverse_a_string(my_text):
return my_text[::-1]
现在你可以这样做:
s = raw_input("Please enter a string to be reversed\n") #input in Python3
r = reverse_a_string(s)
print r
r将包含s的反转值,并将被打印。
关于你的第二个功能 - 好吧,我认为根据这个答案,你可以自己做,但如果你需要第二个的帮助,请评论我。
关于你的第三个例子:
def reverse_a_string(string):
string = "Hello"
reverse = string[::-1]
print(reverse)
这是值得推迟和理解的事情
变量reverse
首先在函数中使用。这使它成为局部变量
这意味着在调用函数时变量存储在内存中,当它完成时,它将被删除。你可以说它的生命周期是从调用函数到函数完成的时间。
这意味着,即使您拨打reverse_a_string(string)
,您也无法在该功能之外使用reverse
变量,因为它将是本地。 />
如果你想传递这样的值,你必须"声明"你的变量在函数之外,并使用全局关键字,如:
reverse = "" #This makes reverse a global variable
def reverse_a_string(string):
global reverse #Stating that we are going to use the global variable reverse
reverse = string[::-1]
# Then you can call it like that:
reverse_a_string("Hello")
print reverse
输出
2009东海生日贺
虽然强烈不推荐以Python或任何其他语言执行此操作。
答案 2 :(得分:1)
我不知道你是否在询问如何在python或其他东西中定义函数
如果你想学习python函数,转到http://www.tutorialspoint.com/python/python_functions.htm或者只是在谷歌编写python教程,你将得到数十亿个好网站
def reverse_a_string(string):
#function definition
reverse = string[::-1]
print(reverse)
#function call
reverse_a_string("your string")
但你要为此定义功能,你可以简单地做
print( string[::-1] )
答案 3 :(得分:1)
# defines the 'Reverse a String' function and its arguments
def reverse_a_string():
print(string)
reverse = string[::-1]
print(reverse)
print("Type a string") # asks the user for a string input
string = input() # assigns whatever the user input to the string variable
reverse_a_string() # simply calls the function
对于函数,你必须定义函数,然后简单地用函数名称调用它,即函数()
在我的例子中,我要求一个字符串,将其分配给变量,并在函数中使用它。如果你只想打印你好(我的问题有点不清楚)那么只需要包含print(“hello”)或w / variable print(string)也可以在函数内部工作。