Top.Mail.Ru
Ответы
Аватар пользователя
11мес
Изменено

Помогите мне!! я пытался сделать игру камень ножницы бумага на питон(предупреждаю, много говнокода)

код:

123456789101112131415161718192021222324252627282930313233
 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) 

ошибок нет, но всегда считает поражение

По дате
По рейтингу
Аватар пользователя
Ученик
11мес

Попробуй это:
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()

Аватар пользователя
Знаток
11мес

спасибо

Аватар пользователя
Гений
11мес

Слишком переусложнено.
Всё намного проще: значение (aichoose - choose) % 3 сразу даёт один из 3 результатов игры (ничья, выигрыш, проигрыш).

1234567891011121314
 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]) 
Аватар пользователя
Просветленный
11мес

> она ничего толкового не говорит
Ну, говорит это:

Аватар пользователя
Знаток
11мес

так даже с Int такая же брехня

Аватар пользователя
Знаток
11мес

но спасибо за помощь всё равно

Аватар пользователя
Профи
11мес

О ты тот который 👁👁👁нордическим пришельцам понравилось ваше о4ко👁👁👁будьте готовы к активному проникновению в ваше заднее отверстие 👁👁👁

Аватар пользователя
Знаток
11мес

👁👁👁нордическим пришельцам понравилось ваше о4ко👁👁👁будьте готовы к активному проникновению в ваше заднее отверстие 👁👁👁

Аватар пользователя
Знаток
11мес

капец заморочено конечно но в чем вопрос

Аватар пользователя
Знаток
11мес

ошибок нет, но всегда считает поражение

Аватар пользователя
Ученик
11мес

Спроси нейросеть

Аватар пользователя
Знаток
11мес

она ничего толкового не говорит

Аватар пользователя
Профи
11мес

sss



Видео по теме