Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Пайтон ошибка помогите

Максим Амиров Ученик (83), открыт 8 часов назад
Import random comanuper = random.choice(['Бумага','Камень','Ножницы']) player = input('Камень,бумага или ножницы?') if player == 'ножницы' and comanuper == 'ножницы': print('Ничья!') elif player == 'ножницы' and comanuper == 'бумага': print('Вы победили') elif player == 'ножницы' and comanuper == 'камень': print('Вы проиграли') elif player == 'бумага' and comanuper == 'ножницы': print('Вы проиграли') elif player == 'бумага' and comanuper == 'камень': print('Вы победили') elif player == 'бумага' and comanuper == 'бумага': print('Ничья') elif player == 'камень' and comanuper == 'камень': print('Ничья') elif player == 'камень' and comanuper == 'ножницы': print('Вы победили') elif player == 'камень' and comanuper == 'бумага': print('Вы проиграли') найдите ошибку прошу
6 ответов
Люда Едрышова Ученик (126) 8 часов назад
В вашем коде есть несколько ошибок. Первое, вы неправильно импортировали модуль random: должно быть `import random`. Второе, переменная `comanuper` должна быть написана как `computer`. Также стоит добавить обработку случаев, когда пользователь вводит неправильное значение. Вот исправленный код:

```python
import random
computer = random.choice(['Бумага', 'Камень', 'Ножницы'])
player = input('Камень, бумага или ножницы? ').strip()

if player not in ['Камень', 'Бумага', 'Ножницы']:
print('Ошибка: введено неверное значение. Попробуйте снова.')
else:
if player == computer:
print('Ничья!')
elif (player == 'Ножницы' and computer == 'Бумага') or \
(player == 'Бумага' and computer == 'Камень') or \
(player == 'Камень' and computer == 'Ножницы'):
print('Вы победили!')
else:
print('Вы проиграли!')
```

Теперь программа должна работать корректно и обрабатывать неверный ввод пользователя.
Тимур Навалихин Ученик (197) 8 часов назад
Вон она. Я пальцем на неё показываю
Белла Снежка Профи (569) 8 часов назад
import random

comanuper = random.choice(['Бумага', 'Камень', 'Ножницы'])
player = input('Камень, бумага или ножницы? ').strip() # Удаляем лишние пробелы

if player == 'ножницы' and comanuper == 'Ножницы':
print('Ничья!')
elif player == 'ножницы' and comanuper == 'Бумага':
print('Вы победили!')
elif player == 'ножницы' and comanuper == 'Камень':
print('Вы проиграли!')
elif player == 'бумага' and comanuper == 'Ножницы':
print('Вы проиграли!')
elif player == 'бумага' and comanuper == 'Камень':
print('Вы победили!')
elif player == 'бумага' and comanuper == 'Бумага':
print('Ничья!')
elif player == 'камень' and comanuper == 'Камень':
print('Ничья!')
elif player == 'камень' and comanuper == 'Ножницы':
print('Вы победили!')
elif player == 'камень' and comanuper == 'Бумага':
print('Вы проиграли!')
else:
print('Некорректный ввод! Пожалуйста, введите "Камень", "Бумага" или "Ножницы".')
Egor Mexelion Мастер (1002) 8 часов назад
В вашем коде есть несколько проблем:
1. Опечатка в строке импорта:
Вместо Import random должно быть import random. В Python ключевые слова чувствительны к регистру, и “Import” с заглавной буквы вызовет ошибку.
2. Переменная с опечаткой:
Вы написали comanuper, но, вероятно, имели в виду computer. Это также вызывает ошибку при использовании переменной в условиях, так как она определена неправильно.
3. Отсутствие проверки на допустимые значения ввода:
Для предотвращения ошибок, если пользователь введет что-то другое, кроме “камень”, “бумага” или “ножницы”, можно добавить проверку.

Вот исправленная версия вашего кода:

import random

# Выбор компьютера
computer = random.choice(['Бумага', 'Камень', 'Ножницы'])

# Ввод игрока
player = input('Камень, бумага или ножницы? ').lower()

# Проверка на допустимые значения
if player not in ['камень', 'бумага', 'ножницы']:
print("Неверный ввод. Пожалуйста, выберите 'камень', 'бумага' или 'ножницы'.")
else:
# Логика игры
if player == computer:
print(f'Ничья! Компьютер выбрал {computer}.')
elif player == 'ножницы' and computer == 'бумага':
print('Вы победили! Компьютер выбрал бумагу.')
elif player == 'ножницы' and computer == 'камень':
print('Вы проиграли! Компьютер выбрал камень.')
elif player == 'бумага' and computer == 'ножницы':
print('Вы проиграли! Компьютер выбрал ножницы.')
elif player == 'бумага' and computer == 'камень':
print('Вы победили! Компьютер выбрал камень.')
elif player == 'камень' and computer == 'камень':
print('Ничья! Компьютер выбрал камень.')
elif player == 'камень' and computer == 'ножницы':
print('Вы победили! Компьютер выбрал ножницы.')
elif player == 'камень' and computer == 'бумага':
print('Вы проиграли! Компьютер выбрал бумагу.')

Объяснение изменений:
1. Исправлен импорт: import random.
2. Переменная comanuper переименована в computer.
3. Проверка на допустимый ввод: добавлена проверка, чтобы игрок не ввел ошибочные значения.
4. Обработка вывода: в вывод добавлена информация о выборе компьютера, чтобы результат был более понятен.

Теперь код должен работать корректно!
Cogni Просветленный (40002) 8 часов назад
 import random 

computer = random.choice(['Бумага', 'Камень', 'Ножницы'])
player = input('Камень, бумага или ножницы? ')

if player == computer:
print('Ничья!')
elif (player == 'ножницы' and computer == 'бумага') or \
(player == 'бумага' and computer == 'камень') or \
(player == 'камень' and computer == 'ножницы'):
print('Вы победили')
else:
print('Вы проиграли')
Андрей Высший разум (464982) 8 часов назад
Всё намного проще
 import random 
t = {'камень': 0, 'ножницы': 1, 'бумага': 2}
c = random.choice(list(t.keys()))
p = input('Камень, бумага или ножницы? ').strip().lower()
print(['Ничья!', 'Вы победили', 'Вы проиграли'][(t[c] - t[p]) % 3])
Похожие вопросы