Вы должны определить это так:
def str_length():
my_string = input("give me a string: ")
return len(my_string)
print(str_length())
Когда вы вызываете функцию с помощью my_string
, вы получаете NameError
, потому что my_string
определения еще нет.Вы определяете это внутри функции.(После того, как вы это называете).это причина.
Благодаря @prashantrana, вы также можете определить свою функцию следующим образом:
def str_length(my_string):
return len(my_string)
my_string = input("give me a string: ")
print(str_length(my_string))
Разница в том, что мы получаем ввод от пользователя из области действия функции,передать его функционировать.