это код анфисы который вы последовательно писали на протяжении нескольких тем

admin

# Строки и форматирование

# Вывод на экран

Вы уже умеете выводить на экран текст, складывая строки. А вот как напечатать без этого? Нужно в скобках функции print() перечислить через запятую аргументы, которые она печатает:

Запятая между аргументами по умолчанию заменяется на пробел.

Это значит, что в сообщения можно не добавлять пробелы, когда составляете сложную фразу. Достаточно разделить аргументы функции print() запятой. И, что приятно, количество этих аргументов не ограничено:

# Упражнения

# Метод split()

Разбить фразу на слова, и вообще разделить строку по определённому символу можно методом split() (англ. «разделить»). В результате получится список строк. Метод split() принимает аргумент, указывающий, какой разделитель использовать.

Тогда появятся лишние точки на концах слов. Их удобнее всего убирать методом strip() — он убирает указанные символы в начале и в конце.

# Упражнения

Код вывода результатов на экран уже написан в основном теле программы.

# Форматирование строк

До сих пор для вывода текста на экран вам приходилось собирать его из нескольких частей. Но есть и другой способ. Для сборки текста из разных элементов удобны f-строки (от англ. formatted string, «форматированные строки»). Эти f-строки включают имена переменных внутри фигурных скобок. Значения переменных подставляются в строку автоматически. В коде f-строки выглядят как обычные, только начинаются с символа f перед кавычками:

Преобразование типов из числа в строку f-строки проделывают автоматически:

# Упражнения

# Подробнее о форматировании

В f-строки можно подставлять не только переменные, но и результаты вычислений. Например, арифметические операции:

И обращение к элементам списка:

А также к элементам словаря по ключу:

Второй намного понятнее, хотя строк стало в четыре раза больше. Не так ли? Лучше придерживаться общего правила: f-строки используются только для форматирования вывода, а вычислять все выражения надо вне их. И вообще, не стоит экономить на количестве строчек кода, принося в жертву его читаемость.

# Упражнения

‘Вы прослушали N песен, общей продолжительностью M минут и S секунд.’

# Запросы к друзьям

В предыдущей теме «Словари и множества» вы добавили в код персонального ассистента Виты данные о том, где живут ваши друзья. И она уже умеет отвечать на следующие запросы:

Сейчас вам предстоит расширить возможности Виты. Научить её отвечать на вопросы про отдельных друзей. Начнём с самого простого вопроса «ты где?» — внутри Виты уже хранятся данные о местоположении. Если, например, Коля и Соня находятся в списке друзей, то запросы о них будет выглядеть следующим образом:

Чтобы различать вопросы про отдельных друзей от общих вопросов к Вите, будем начинать общие вопросы с прямого обращения, вот так:

Тогда различать просто. Если вопрос начинается с имени «Вита», то это общий вопрос. А если с другого имени, то это вопрос про конкретного друга. Полагаем, правда, что у нас нет друзей по имени Вита. 😃

# Упражнения

А. Отредактируйте список запросов queries. Все запросы должны начинаться с обращения Вита:

В. Добавьте в список queries новые запросы вида:

Источник

Что я сделал не так?

Измените код Анфисы. Оставьте вывод на экран, т.е. вызовы функции print(), только в одном месте — в основном теле программы. Эти вызовы уже написаны в предварительном коде задания.
Все прошлые выводы на экран — в функциях show_count_friends() и process_query() — замените на возвращения результатов из функции оператором return.
Подсказка

Не забудьте вернуть результат выполнения функции show_count_friends() из process_query(), чтобы первому вызову print() было что печатать.

не могу понять, куда вставлять «return»

Простой 1 комментарий

d6867aeab8e7497b9718aa8550f750f0

> Что я сделал не так?

Как минимум, не использовал теги для форматирования кода

пропущен count в функции

FRIENDS = [‘Серёга’, ‘Соня’, ‘Дима’, ‘Алина’, ‘Егор’]

def show_count_friends(count_friends):
if count_friends == 1:
return (‘У тебя 1 друг’)
elif 2 = 5:
return (‘У тебя ‘ + str(count_friends) + ‘ друзей’)

def process_query(query):
if query == ‘Сколько у меня друзей?’:
count = len(FRIENDS)
return show_count_friends(count)
elif query == ‘Кто все мои друзья?’:
friends_string = ‘, ‘.join(FRIENDS)
return friends_string
else:
return ‘ ‘

# Внимание! Это те самые вызовы, которые не надо трогать
show_count_friends(5)

print(process_query(‘Сколько у меня друзей?’))
print(process_query(‘Кто все мои друзья?’))
print(process_query(‘Как меня зовут?’))

Eщё надо дописать return query

FRIENDS = [‘Серёга’, ‘Соня’, ‘Дима’, ‘Алина’, ‘Егор’]

def show_count_friends(count_friends):
if count_friends == 1:
return(‘У тебя 1 друг’)
elif 2 = 5:
return(‘У тебя ‘ + str(count_friends) + ‘ друзей’)

def process_query(query):
if query == ‘Сколько у меня друзей?’:
count = len(FRIENDS)
return show_count_friends(count)
elif query == ‘Кто все мои друзья?’:
friends_string = ‘, ‘.join(FRIENDS)
return(‘Твои друзья: ‘ + friends_string)
else:
return(‘ ‘)
return query

# Внимание! Это те самые вызовы, которые не надо трогать
print(process_query(‘Сколько у меня друзей?’))
print(process_query(‘Кто все мои друзья?’))

Источник

Нужна помощь по питону

01 Jun 2020 в 13:15

avatar l

dota plus

01 Jun 2020 в 13:15 #1

и вот такой начальный код

656726

43

01 Jun 2020 в 13:19 #2

Погугли вывод элемента массива в питоне

avatar l

dota plus

01 Jun 2020 в 13:23 #3

Погугли вывод элемента массива в питоне

774790

01 Jun 2020 в 13:24 #4

Индекс элементов в списке начинается с 0.

print(«Привет, я Анфиса!»)

friends = [‘Серёга’, ‘Соня’, ‘Дима’, ‘Алина’, ‘Егор’]

avatar l

dota plus

01 Jun 2020 в 13:25 #5

310126

01 Jun 2020 в 14:45 #6

Вместо нормальной книги, которая читается под пивас, тратите время в каких-то курсах ущербных.

62514

01 Jun 2020 в 14:53 #7

Вместо нормальной книги, которая читается под пивас, тратите время в каких-то курсах ущербных.

То есть тебя больше удивило то что чел проходит не понятные курсы, чем то что чел на банальный вопрос целую тему создал на сайте по ДОТЕ(!)?

733467

01 Jun 2020 в 15:01 #8

зачем тебе эти курсы, если у питона есть нормальная документация, которая легко читается с английским уровня A2 (заодно апнешь, без него никуда), а задачки советую codewars.com

забудешь эту инфу, будешь опять курс проходить, или что?

То есть тебя больше удивило то что чел проходит не понятные курсы, чем то что чел на банальный вопрос целую тему создал на сайте по ДОТЕ(!)?

судя по тому, как он изложил свой вопрос, ему в гугле ничего не нашло просто. Вот тебе и яндекс курсы, даж понять нельзя что происходит

Источник

это код анфисы который вы последовательно писали на протяжении нескольких тем

Яндекс.Практикум, где ошибка?

Напишите функцию process_query() (англ. process query, «обработать запрос»). Перенесите в неё весь код из тела основной программы. Эта функция будет принимать на вход запросы пользователя и выдавать ответ на них. Пока она может обработать всего один запрос — сообщить количество друзей.
Добавьте вызов функции process_query() в тело основной программы.
В чем ошибка?

Теперь покажите, что вы не проите нас решить за вас задачу

# перенесите в функцию process_query() вот этот код:
def process_query():
—-print(«Привет, я Анфиса!»)
—-count = len(FRIENDS)
—-print_friends_count(count)

Замените тире на пробелы или на tab

Напишите функцию process_query() (англ. process query, «обработать запрос»). Перенесите в неё весь код из тела основной программы. Эта функция будет принимать на вход запросы пользователя и выдавать ответ на них. Пока она может обработать всего один запрос — сообщить количество друзей.
Добавьте вызов функции process_query() в тело основной программы.

# Строки и форматирование

# Вывод на экран

Вы уже умеете выводить на экран текст, складывая строки. А вот как напечатать без этого? Нужно в скобках функции print() перечислить через запятую аргументы, которые она печатает:

Запятая между аргументами по умолчанию заменяется на пробел.

Это значит, что в сообщения можно не добавлять пробелы, когда составляете сложную фразу. Достаточно разделить аргументы функции print() запятой. И, что приятно, количество этих аргументов не ограничено:

# Упражнения

# Метод split()

Разбить фразу на слова, и вообще разделить строку по определённому символу можно методом split() (англ. «разделить»). В результате получится список строк. Метод split() принимает аргумент, указывающий, какой разделитель использовать.

Тогда появятся лишние точки на концах слов. Их удобнее всего убирать методом strip() — он убирает указанные символы в начале и в конце.

# Упражнения

Код вывода результатов на экран уже написан в основном теле программы.

# Форматирование строк

До сих пор для вывода текста на экран вам приходилось собирать его из нескольких частей. Но есть и другой способ. Для сборки текста из разных элементов удобны f-строки (от англ. formatted string, «форматированные строки»). Эти f-строки включают имена переменных внутри фигурных скобок. Значения переменных подставляются в строку автоматически. В коде f-строки выглядят как обычные, только начинаются с символа f перед кавычками:

Преобразование типов из числа в строку f-строки проделывают автоматически:

# Упражнения

# Подробнее о форматировании

В f-строки можно подставлять не только переменные, но и результаты вычислений. Например, арифметические операции:

И обращение к элементам списка:

А также к элементам словаря по ключу:

Второй намного понятнее, хотя строк стало в четыре раза больше. Не так ли? Лучше придерживаться общего правила: f-строки используются только для форматирования вывода, а вычислять все выражения надо вне их. И вообще, не стоит экономить на количестве строчек кода, принося в жертву его читаемость.

# Упражнения

‘Вы прослушали N песен, общей продолжительностью M минут и S секунд.’

# Запросы к друзьям

В предыдущей теме «Словари и множества» вы добавили в код персонального ассистента Виты данные о том, где живут ваши друзья. И она уже умеет отвечать на следующие запросы:

Сейчас вам предстоит расширить возможности Виты. Научить её отвечать на вопросы про отдельных друзей. Начнём с самого простого вопроса «ты где?» — внутри Виты уже хранятся данные о местоположении. Если, например, Коля и Соня находятся в списке друзей, то запросы о них будет выглядеть следующим образом:

Чтобы различать вопросы про отдельных друзей от общих вопросов к Вите, будем начинать общие вопросы с прямого обращения, вот так:

Тогда различать просто. Если вопрос начинается с имени «Вита», то это общий вопрос. А если с другого имени, то это вопрос про конкретного друга. Полагаем, правда, что у нас нет друзей по имени Вита. 😃

# Упражнения

А. Отредактируйте список запросов queries. Все запросы должны начинаться с обращения Вита:

В. Добавьте в список queries новые запросы вида:

Что я сделал не так?

Измените код Анфисы. Оставьте вывод на экран, т.е. вызовы функции print(), только в одном месте — в основном теле программы. Эти вызовы уже написаны в предварительном коде задания.
Все прошлые выводы на экран — в функциях show_count_friends() и process_query() — замените на возвращения результатов из функции оператором return.
Подсказка

Не забудьте вернуть результат выполнения функции show_count_friends() из process_query(), чтобы первому вызову print() было что печатать.

не могу понять, куда вставлять «return»

> Что я сделал не так?

Как минимум, не использовал теги для форматирования кода

пропущен count в функции

FRIENDS = [‘Серёга’, ‘Соня’, ‘Дима’, ‘Алина’, ‘Егор’]

def show_count_friends(count_friends):
if count_friends == 1:
return (‘У тебя 1 друг’)
elif 2 = 5:
return (‘У тебя ‘ + str(count_friends) + ‘ друзей’)

def process_query(query):
if query == ‘Сколько у меня друзей?’:
count = len(FRIENDS)
return show_count_friends(count)
elif query == ‘Кто все мои друзья?’:
friends_string = ‘, ‘.join(FRIENDS)
return friends_string
else:
return ‘ ‘

# Внимание! Это те самые вызовы, которые не надо трогать
show_count_friends(5)

print(process_query(‘Сколько у меня друзей?’))
print(process_query(‘Кто все мои друзья?’))
print(process_query(‘Как меня зовут?’))

Eщё надо дописать return query

FRIENDS = [‘Серёга’, ‘Соня’, ‘Дима’, ‘Алина’, ‘Егор’]

def show_count_friends(count_friends):
if count_friends == 1:
return(‘У тебя 1 друг’)
elif 2 = 5:
return(‘У тебя ‘ + str(count_friends) + ‘ друзей’)

def process_query(query):
if query == ‘Сколько у меня друзей?’:
count = len(FRIENDS)
return show_count_friends(count)
elif query == ‘Кто все мои друзья?’:
friends_string = ‘, ‘.join(FRIENDS)
return(‘Твои друзья: ‘ + friends_string)
else:
return(‘ ‘)
return query

# Внимание! Это те самые вызовы, которые не надо трогать
print(process_query(‘Сколько у меня друзей?’))
print(process_query(‘Кто все мои друзья?’))

Яндекс.Практикум, где ошибка?

Напишите функцию process_query() (англ. process query, «обработать запрос»). Перенесите в неё весь код из тела основной программы. Эта функция будет принимать на вход запросы пользователя и выдавать ответ на них. Пока она может обработать всего один запрос — сообщить количество друзей.
Добавьте вызов функции process_query() в тело основной программы.
В чем ошибка?

Теперь покажите, что вы не проите нас решить за вас задачу

# перенесите в функцию process_query() вот этот код:
def process_query():
—-print(«Привет, я Анфиса!»)
—-count = len(FRIENDS)
—-print_friends_count(count)

Замените тире на пробелы или на tab

Напишите функцию process_query() (англ. process query, «обработать запрос»). Перенесите в неё весь код из тела основной программы. Эта функция будет принимать на вход запросы пользователя и выдавать ответ на них. Пока она может обработать всего один запрос — сообщить количество друзей.
Добавьте вызов функции process_query() в тело основной программы.

Нужна помощь по питону

01 Jun 2020 в 13:15

01 Jun 2020 в 13:15 #1

и вот такой начальный код

01 Jun 2020 в 13:19 #2

Погугли вывод элемента массива в питоне

01 Jun 2020 в 13:23 #3

Погугли вывод элемента массива в питоне

01 Jun 2020 в 13:24 #4

Индекс элементов в списке начинается с 0.

print(«Привет, я Анфиса!»)

friends = [‘Серёга’, ‘Соня’, ‘Дима’, ‘Алина’, ‘Егор’]

01 Jun 2020 в 13:25 #5

01 Jun 2020 в 14:45 #6

Вместо нормальной книги, которая читается под пивас, тратите время в каких-то курсах ущербных.

01 Jun 2020 в 14:53 #7

Вместо нормальной книги, которая читается под пивас, тратите время в каких-то курсах ущербных.

То есть тебя больше удивило то что чел проходит не понятные курсы, чем то что чел на банальный вопрос целую тему создал на сайте по ДОТЕ(!)?

01 Jun 2020 в 15:01 #8

зачем тебе эти курсы, если у питона есть нормальная документация, которая легко читается с английским уровня A2 (заодно апнешь, без него никуда), а задачки советую codewars.com

забудешь эту инфу, будешь опять курс проходить, или что?

То есть тебя больше удивило то что чел проходит не понятные курсы, чем то что чел на банальный вопрос целую тему создал на сайте по ДОТЕ(!)?

судя по тому, как он изложил свой вопрос, ему в гугле ничего не нашло просто. Вот тебе и яндекс курсы, даж понять нельзя что происходит

Источник

Урок 5. Разбиение на функции. Задание 3 Яндекс Практикума.

Задание: Добавьте в функцию process_query() обработку ещё одного запроса ‘Кто все мои друзья?’. В ответ нужно выводить на экран Твои друзья: <список_друзей>, где <список_друзей>— строка, состоящая из списка друзей, разделённых запятой и пробелом.
Добавьте вызов process_query(‘Кто все мои друзья?’) в тело основной программы.

Что не так в коде? Помогите, пожалуйста, исправить ошибку.

FRIENDS = [‘Серёга’, ‘Соня’, ‘Дима’, ‘Алина’, ‘Егор’]

def process_query(query):
print(«Привет, я Анфиса!»)

if query == ‘Сколько у меня друзей?’: count = len(FRIENDS)
print_friends_count(count)
elif query == ‘Кто все мои друзья?’:
friends_string = ‘, ‘.join(FRIENDS)
print(‘Твои друзья: ‘ + friends_string)
else:
print(‘ ‘)

def print_friends_count(friends_count):
if friends_count == 1:
print(‘У тебя 1 друг’)
elif 2 = 5:
print(‘У тебя ‘ + str(friends_count) + ‘ друзей’)

process_query(‘Сколько у меня друзей?’)
process_query(‘Как меня зовут?’)
process_query(‘Кто все мои друзья?’)

Traceback (most recent call last):
File «main.py», line 9

elif query == ‘Кто все мои друзья?’:

IndentationError: unexpected indent

Поддержка объяснила так:

Вы записали функцию print_friends_count​ в теле функции process_query​.

Удалите лишние отступы, чтобы обе функции выполнялись в теле основной программы.

Источник

Tags: , , ,