alinaosipyants
05.10.2020 14:30

Модифицируйте игру Камень-Ножницы-Бумага, которую мы делали на уроке. Теперь вместо игрока, будет играть второй компьютер!

На вход программа принимает количество партий, которые сыграют компьютеры.
Результатом будет строка, в который выводится счет и какой из компьютеров победил.

Первый компьютер будет выбирать по принципу randint(1,3)

Как сделать так, чтобы второй компьютер всегда выигрывал?
Вот мой код:

import time
import random

YourScore = 0
ComputerScore = 0

while ComputerScore < 3 and YourScore < 3:

print("Текущий счет - Игрок:"+str(YourScore)+"- Компьютер:"+str(ComputerScore))

player = input("Выбирайте: камень / ножницы / бумага: ")

if player == "камень" or player == "ножницы" or player == "бумага":
comp = random.randint(1,3)
if comp == 1:
comp = "бумага"
elif comp == 2:
comp = "камень"
else:
comp = "ножницы"

print("Камень, ножницы, бумага!")
time.sleep(1)
print("1")
time.sleep(1)
print("2")
time.sleep(1)
print("3")
time.sleep(1)

if comp == player:
print("Ничья")
elif ((player == "камень" and comp == "ножницы")
or (player == "бумага" and comp == "камень")
or (player == "ножницы" and comp == "бумага")):
print("Ты победил!")
YourScore += 1
else:
print("Комп победил!")
ComputerScore += 1
else:
print("Нет такого варианта!")

print("Игра закончилась!")

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
LebedevAleksand
18.10.2021 21:54
// PascalABC.NET 3.1, сборка 1201 от 18.03.2016
begin
  var k:=0;
  var n:=ReadInteger();
  var nmax:=0;
  while n<>0 do begin
    Inc(k);
    if n mod 10 = 0 then
      if n>nmax then nmax:=n;
    n:=ReadInteger()  
    end;
  var cntrl:=ReadInteger();
  Writeln('Получено ',k,' чисел');
  Writeln('Полученное контрольное значение: ',cntrl);
  Writeln('Вычисленное контрольное значение: ',nmax);
  if cntrl=nmax then Writeln('Контроль пройден')
  else Writeln('Контроль не пройден')
end.

Тестовое решение:
53
16
40
9
10
32
74
0
40
Получено 7 чисел
Полученное контрольное значение: 40
Вычисленное контрольное значение: 40
Контроль пройден
0,0(0 оценок)
Ответ:
ggf6fr
12.03.2020 20:01
Если считать отрицательные трехзначные, то сумма таких чисел в диапазонах от -999 до -100 и от 100 до 999 будет равна 0. Для только положительных:

//c циклом for
var s,i:integer;
begin
  for i:=100 to 999 do
    if i mod 77 = 0 then s:=s+i;
  writeln('Сумма трехзначных кратных 77: ',s);
end.

Тестовое решение:
Сумма трехзначных кратных 77: 5929

// с циклом while
var s,i:integer;
begin
  i:=100;
  while i<=999 do begin
    if i mod 77 = 0 then s:=s+i;
    i:=i+1;
  end;
  writeln('Сумма трехзначных кратных 77: ',s);
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота