from random import randint
points = 100
gameover = False
while not gameover and points > 0:
print('Ваш баланс: ', points)
while True:
choice = int(input('Введите число на которое хотите поставить(2-12): '))
if choice in range(2,13):
break
print('Ставка должна быть в диапазоне от 2 до 12!')
while True:
bet = int(input('Введите сумму ставки: '))
if bet <= points:
break
print('Недостаточно для такой ставки!')
points -= bet
rand1 = randint(1,6)
rand2 = randint(1,6)
result = rand1 + rand2
print('Выпали числа {} и {}. Сумма = {}'.format(rand1, rand2, result))
if result == choice:
print('Вы выиграли x4 свой ставки!')
points += bet*4
elif (result < 7 and choice < 7) or (result > 7 and choice > 7):
print('Вы выиграли свою ставку!')
points += bet * 2
else:
print('Вы проиграли ставку!')
gameover = bool(input('Если хотите выйти, введите любой символ. Если хотите продолжить - нажмите Enter: '))
print('Game Over. У вас закончились или вы захотели выйти из игры.')
Объяснение:
Программа:
Python:
from random import randint
pts = 100
while pts > 0:
num, bet = map(int, input('Введите число от 2 до 12 и ставку: ').split())
if bet > pts: print(f'У вас не хватает очков! Вы имеете {pts} очков.')
else:
cube1, cube2 = randint(1,6), randint(1,6)
print(f'Первый куб: {cube1}, второй куб: {cube2}')
summ = cube1 + cube2
if (summ < 7 and num < 7) or (summ > 7 and num > 7):
pts += bet
print(f'Ваша ставка ! Теперь у вас {pts} очков.')
elif summ == num:
pts += bet * 4
print(f'Ваша ставка ! Теперь у вас {pts} очков.')
else:
pts -= bet
print(f'Ваша ставка не ! Теперь у вас {pts} очков.')
if input('Желаете закончить игру (да/нет)? ').lower() == 'да':
print(f'Вы закончили игру с {pts} очков.')
break
procedure ex1(a:array of integer; var nn,np:integer);
begin
nn:=0; np:=0;
for var i:=0 to a.Length-1 do
if a[i]<0 then begin a[i]:=0; Inc(nn) end
else
if a[i]>0 then begin a[i]:=1; Inc(np) end
end;
begin
var a:=ArrRandom(ReadInteger('n='),-20,20);
a.Println;
var kp,kn:integer;
ex1(a,kn,kp);
Writeln('Отрицательных ',kn,', положительных ',kp);
a.Println
end.
Тестовое решение:
n= 15
-5 4 -10 15 12 -17 12 4 0 8 -2 -9 8 6 4
Отрицательных 5, положительных 9
0 1 0 1 1 0 1 1 0 1 0 0 1 1 1
// PascalABC.NET 3.1, сборка 1214 от 09.04.2016
procedure ex2(a:array of integer);
begin
var k:=0;
for var i:=0 to a.Length-1 do
if a[i]>0 then begin Print(i+1); Inc(k) end;
Writeln(NewLine,'Количество положительных элементов равно ',k)
end;
begin
var a:=ArrRandom(ReadInteger('n='),-20,20);
a.Println;
ex2(a);
end.
Тестовое решение:
n= 13
15 -3 1 11 -20 17 -17 -12 -12 20 11 2 20
1 3 4 6 10 11 12 13
Количество положительных элементов равно 8
// PascalABC.NET 3.1, сборка 1214 от 09.04.2016
procedure ex3(a:array of integer);
begin
var s:=0;
var k:=0;
var i:=0;
while i<a.Length do begin
s+=abs(a[i]); Inc(k); i+=2
end;
Writeln('Сумма модулей нечетных элементов равна ',s);
Writeln('Их среднее арифметическое равно ',s/k)
end;
begin
var a:=ArrRandom(ReadInteger('n='),-20,20);
a.Println;
ex3(a);
end.
Тестовое решение:
n= 10
2 -1 -14 -12 11 13 1 17 20 6
Сумма модулей нечетных элементов равна 48
Их среднее арифметическое равно 9.6