Кто-нибудь, пожалуйста, помогите мне с приведенным ниже кодом. Если пользователь вводит свое имя, это должно сказать, что строка имеет четное количество символов или нечетное количество символов. Спасибо
input_string = str(input("Please enter your name: "))
def evenodd(num):
if (num % 2 == 0):
print(num, "Is an even")
else:
print(num, "Is an odd")
evenodd(input_string)
вам нужно проверить длину строки. использовать num = len(input_string)
Затем обработать num
num
не определено. Назначьте его строковому аргументу len
:
input_string = str(input("Please enter your name: "))
def evenodd(s):
num = len(s) # <- here!
if num % 2 == 0:
return "even"
else:
return "odd"
print(evenodd(input_string))
Я переименовал аргумент функции, чтобы показать, что он полностью независим от переменной input_string
в глобальной области видимости.
Спасибо за ваш ответ, но на самом деле вопрос заключается в использовании этой функции. нечетный", если строка имеет нечетное количество символов. просто интересно, это правильный код? ТА
Вы имеете в виду, что функция должна возвращать его, а не печатать?
Здесь:
input_string = str(input("Please enter your name: "))
num = len(input_string)
def evenodd(input_string):
if (num % 2 == 0):
print(input_string, "Is an even")
else:
print(input_string, "Is an odd")
evenodd(num)
Мы использовали метод len()
, чтобы найти длину строки. Остальной код был в полном порядке.
Просто работая с глобальными переменными, зачем сохранять input_string
в качестве параметра функции. В самом деле, зачем вообще иметь функцию?
@schwobaseggl Код в вопросе был MWE. Возможно, это небольшая часть большого кода, где ему приходилось использовать функции. Не уверен, но все же согласен с вами :)
В вашей функции замените num%2 на len(input_string) % 2. После этого вызовите свою функцию с помощью evenodd(input_string)