Lina111334
19.11.2022 16:35

У вас есть персонаж, обладающий рядом и статов.
Напишите программу по заданным условиям:
1. Персонаж имеет набор статов: strength, dexterity,
intelligence, wisdom, charisma. Каждая стата имеет свой
запас.
1
Домашнее задание № 9
Значения запасов каждой статы должны быть случайны
– в пределах от 60 до 80 и быть представлены в списке
stats = []:
stats = []
for i in range(5):
r = random.randint(60, 80)
stats.append(r)
2. В начале игры пользователю предоставляется
возможность однократно повысить одну стату на
случайное количество единиц – от 5 до 15:
select = int(input('Select: '))
select -= 1
stats[select] += random.randint(5, 15)
Обратите внимание, что повышая одну стату на
сгенерированное число, все остальные должны
уменьшиться на случайное значение в пределах от 5 до 15:
for i in range(len(stats)):
if i == select:
continue
stats[i] -= random.randint(5, 15)
2
Домашнее задание № 9
3. Персонаж обладает набором скилов: fireball, lightning,
silence, fire ward.
Использование каждого из них отнимает разное
количество единиц статов, а именно:
Атрибуты
Fireball 12 15 28 10 5
Lightning 7 13 15 30 10
Silence 23 10 12 7 18
Fire Ward 20 23 14 6 17
Занесите эти данные в список, чтобы в
дальнейшем воспользоваться ими в игре:
fireball = [12, 15, 28, 10, 5]
lightning = [7, 13, 15, 30, 10]
...
3
Домашнее задание № 9
4. Предоставьте пользователю возможность использовать
скилы, например, по нажатию f применяется Fireball,
l – Lightning и т. д. После применения какой-либо
из запас статов будет уменьшаться,
согласно приведенной выше таблице.
Рассмотрим следующий пример:
1. Было Stats: 70 64 63 80 65.
2. Применили Fireball: 12 15 28 10 5.
3. Стало Stats: 58 49 35 70 60.
Следите за тем, чтобы элементы в списке
stats=[] не стали отрицательными.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
димка184
25.08.2021 16:31

Это без использования файлов

var spisok:array [word] of string; {объявляем массив для хранения фамилий}
n,i,k:word; {n - количество фамилий,i - вс переменная, k - количество фамилий в списке равных 8 или 9 буквам}

begin
write('Введите количество фамилий в списке n = ');readln(n);
for i:=1 to n do begin
write('Введите фамилию ',i,' :');
readln(spisok[i]);
if (length(spisok[i])=9) or (length(spisok[i])=8) then inc(k); {inc(k) - это тоже самое ,что k:=k+1; }
end;
writeln('Количество фамилий в списке состоящих из 8 или 9 букв = ',k);
end.

 

П.С. если вам потребуется,обработка конкретно через фаил напишите мне, так как в условии вы не указали точно через что!

 

 

0,0(0 оценок)
Ответ:
nikoszahar
24.02.2021 20:59

var a,b,c:integer; стороны для треугольника
s,p:real;
begin
write('Введите сторону а = ');readln(a);
write('Введите сторону b = ');readln(b);
write('Введите сторону c = ');readln(c);
if ((a < b + c) or (b < a + c) or (c < a + b)) then begin проверка на существовании треугольника, а то как площадь получить если треугольника нет=)
p:=(a+b+c)/2; формула полупериметра 
s:=Sqrt(p*(p-a)*(p-b)*(p-c)); формула Герона для нахождении площади треугольника
writeln('Площадь треугольника равна s = ',s:0:4);
end else writeln('Треугольник не существует!');
end.

 

П.С. что не понятно постараюсь объяснить, но я думаю вы прекрасно во всем разберетесь;)

 

Во вложении блок схема

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота