Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 5, 2021 16:13:56

truemaxevans
Зарегистрирован: 2021-01-05
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Камень, ножницы, бумага

Помогите пожалуйста с заданием.
Нужно чтобы игра повторялась пока игрок или компьютер не наберет 3 пункта.
После обьявления кто победил нужно чтобы выводился итоговый счет.
Спасибо.


from random import randint
print('Enter 1 for Rock, 2 for Paper, 3 for Scissors')
user = int(input('Your turn: ‘))
chosen = randint(1, 3)

if user==1:
user=’Rock'

elif user==2:
user='Paper'

else:
user='Scissors'

if chosen==1:
computer='Rock'

elif chosen==2:
computer='Paper'

else:
computer='Scissors'

print(user,'vs.', computer)

if user==computer:
print('Draw')
elif user=='Scissors' and computer=='Paper':
print('User wins this round')
elif user=='Scissors' and computer=='Rock':
print('Computer wins this round')
elif user=='Paper' and computer=='Scissors':
print('Computer wins this round')
elif user=='Paper' and computer=='Rock':
print('User wins this round')
elif user=='Rock' and computer=='Paper':
print('Computer wins this round')
elif user == ‘Rock’ and computer == ‘Scissors’:
print('User wins this round')

Отредактировано truemaxevans (Янв. 5, 2021 16:17:51)

Офлайн

#2 Янв. 5, 2021 16:15:25

truemaxevans
Зарегистрирован: 2021-01-05
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Камень, ножницы, бумага

C:\Users\User\PycharmProjects\pythonProject1\venv\Scripts\python.exe CUsers/User/Desktop/homework2.py
Enter 1 for Rock, 2 for Paper, 3 for Scissors
Your turn: 2
Paper vs. Scissors
Computer wins this round
Вот тут нужен итоговый счет

Process finished with exit code 0

Отредактировано truemaxevans (Янв. 5, 2021 16:18:15)

Офлайн

#3 Янв. 5, 2021 17:02:49

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1371
Репутация: +  121  -
Профиль   Отправить e-mail  

Камень, ножницы, бумага

Объявите две переменные количество выйгрышей игрока и компьютера,потом в цикле пока переменная не равна 3,играть,выйгравшему +1,в конце вывести переменные

Офлайн

#4 Янв. 5, 2021 17:16:21

truemaxevans
Зарегистрирован: 2021-01-05
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Камень, ножницы, бумага

xam1816
Объявите две переменные количество выйгрышей игрока и компьютера,потом в цикле пока переменная не равна 3,играть,выйгравшему +1,в конце вывести переменные
по коду подскажите с повторением.
я добавил в начале,
user_score = 0
computer_score = 0
И потом к каждому условию
user_score= user_score + 1
computer_score = computer_score + 1

Офлайн

#5 Янв. 5, 2021 17:44:42

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1371
Репутация: +  121  -
Профиль   Отправить e-mail  

Камень, ножницы, бумага

Прочитайте про циклы while

Офлайн

#6 Янв. 5, 2021 18:17:03

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Камень, ножницы, бумага

 from random import randint
unit = {1:"stone", 2:"scissors", 3:"paper"}
accoun = {"it":0, "i":0}
def test():
    __it = randint(1, 3)
    print(f"{unit}")
    __i = int(input('Your turn: '))
    print(f"it - {unit[__it]}\ni - {unit[__i]}")
    return __it, __i
def calc(result): #dirty code
    if result[0] == 1 and result[1] == 2: #1 - 2
        accoun["it"] += 1
    elif result[0] == 1 and result[1] == 3: #1 - 3
        accoun["i"] += 1
    elif result[0] == 2 and result[1] == 1: #2 - 1
        accoun["i"] += 1
    elif result[0] == 2 and result[1] == 3: #2 - 3
        accoun["it"] += 1
    elif result[0] == 3 and result[1] == 1: #3 - 1
        accoun["it"] += 1
    elif result[0] == 3 and result[1] == 2: #3 - 2
        accoun["i"] += 1
    print(accoun)
def game():
    while not 3 in accoun.values():
        calc(test())
    winer = "it" if accoun["it"] > accoun["i"] else "i"
    print(f'Has won {winer}')
if __name__ == '__main__':
    game()
ps unit (dict) не очень удачная структура данных стоило бы поискать более подходящию



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Янв. 5, 2021 18:34:30)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version