Помогите мне!! я пытался сделать игру камень ножницы бумага на питон(предупреждаю, много говнокода)
код:
import random
win = 0;
lose = 0;
wl = 0
print("Добро пожаловать в игру Камень/Ножницы/Бумага")
while True:
choose = (input("Введите число для выбора предмета. 1.Камень 2.Ножницы 3.Бумага: "))
aichoose = random.randint(1, 3)
if aichoose == choose:
print("Ничья, переигровка")
break
elif aichoose == 1 and choose == 3:
print("Поздравляю! Вы выиграли")
win += 1;
print("Кол-во побед:", win)
elif aichoose == 2 and choose == 1:
print("Поздравляю! Вы выиграли")
win += 1;
print("Кол-во побед:", win)
elif aichoose == 3 and choose == 2:
print("Поздравляю! Вы выиграли")
win += 1;
print("Кол-во побед:", win)
elif choose == "!cоотношение":
wl = win / lose;
wl * 100;
print("Ваше соотношение побед/поражений:", wl, "%")
else:
print("Извините! Вы проиграли")
lose += 1;
print("Кол-во проигрышей:", lose) ошибок нет, но всегда считает поражение
Попробуй это:
import random
def get_user_choice():
user_input = input("Выберите: камень, ножницы или бумага: ").lower()
while user_input not in ["камень", "ножницы", "бумага"]:
print("Неверный ввод. Попробуйте снова.")
user_input = input("Выберите: камень, ножницы или бумага: ").lower()
return user_input
def get_computer_choice():
return random.choice(["камень", "ножницы", "бумага"])
def determine_winner(user_choice, computer_choice):
if user_choice == computer_choice:
return "Ничья!"
elif (user_choice == "камень" and computer_choice == "ножницы") or \
(user_choice == "ножницы" and computer_choice == "бумага") or \
(user_choice == "бумага" and computer_choice == "камень"):
return "Вы выиграли!"
else:
return "Вы проиграли!"
def play_game():
print("Добро пожаловать в игру 'Камень, ножницы, бумага'!")
user_choice = get_user_choice()
computer_choice = get_computer_choice()
print(f"\nВы выбрали: {user_choice}")
print(f"Компьютер выбрал: {computer_choice}\n")
result = determine_winner(user_choice, computer_choice)
print(result)
if __name__ == "__main__":
play_game()
спасибо
Слишком переусложнено.
Всё намного проще: значение (aichoose - choose) % 3 сразу даёт один из 3 результатов игры (ничья, выигрыш, проигрыш).
import random
tbl = [0, 0, 0] # статистика игр
while True:
choose = input('Введите число для выбора предмета. 1.Камень 2.Ножницы 3.Бумага: ')
if choose[0] == '!': # статистика, но она не имеет смысла
print(table[1] * 100 / table[2])
continue
# а вот теперь собственно игра
ai = random.randint(1, 3)
print('Ход компьютера:', ['Камень', 'Ножницы', 'Бумага'][ai - 1])
res = (ai - int(choose)) % 3 # результат игры
tbl[res] += 1
print(['Ничья', 'Вы выиграли', 'Вы проиграли'][res])
print('Выигрышей:', tbl[1], 'Проигрышей:', tbl[2], 'Ничьих:', tbl[0]) > она ничего толкового не говорит
Ну, говорит это:
так даже с Int такая же брехня
но спасибо за помощь всё равно
О ты тот который 👁👁👁нордическим пришельцам понравилось ваше о4ко👁👁👁будьте готовы к активному проникновению в ваше заднее отверстие 👁👁👁
👁👁👁нордическим пришельцам понравилось ваше о4ко👁👁👁будьте готовы к активному проникновению в ваше заднее отверстие 👁👁👁
капец заморочено конечно но в чем вопрос
ошибок нет, но всегда считает поражение
Спроси нейросеть
она ничего толкового не говорит
sss