def choose_random_city():
random_city = random.choice(cities_list)
print(‘Ход компьютера: ‘, random_city)
for letter in letters:
if random_city[-1] == letter:
print(f’Введите город на букву’, {random_city[0]})
else:
print(f’Введите город на букву’, {random_city[-1]})
choose_random_city()
что не так
python
print(f'Введите город на букву {random_city[0]}')
и
print(f'Введите город на букву {random_city[-1]}')
3. Использование неправильной логики проверки буквы:
Логика выбора буквы города на следующий ход не корректна. Предложу исправленный код:
python
import random
cities_list = ["Москва", "Астана", "Алматы", "Париж", "Лондон"]
letters = [chr(i) for i in range(ord('А'), ord('Я')+1)]
random_city = '' # создаем переменную, чтобы хранить город для текущего раунда
def choose_random_city():
global random_city
random_city = random.choice(cities_list)
print('Ход компьютера:', random_city)
last_letter = random_city[-1].upper() # берем последнюю букву города и приводим в верхний регистр
if last_letter == 'Ь' or last_letter == 'Й': # обрабатываем значения, которые завершаются на Ь или Й
last_letter = random_city[-2].upper()
for letter in letters:
if letter == last_letter:
print(f'Введите город на букву {letter}')
break
choose_random_city()
Этот код решает проблемы и позволит программе работать корректно. Он выбирает случайный город из списка, выводит его на экран и предлагает ввести город на следующую букву.
Надеюсь, этот пояснительный код поможет вам понять, как исправить ошибки и достичь желаемого результата.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет