Быстрее! программирование на pythonтема: работа со списками у вас есть персонаж, рядом и статов. напишите программу по заданным условиям: 1. персонаж имеет набор статов: strength, dexterity, intelligence, wisdom, charisma. каждая стата имеет свой запас. № 92значения запасов каждой статы должны быть случайны – в пределах от 60 до 80 и быть представлены в списке stats = []: stats = [] attributes = 5 for i in range(attributes): r = random.randint(60, 80) stats.append(r)2. в начале игры пользователю предоставляется возможность однократно повысить одну стату на случайное количество единиц – от 5 до 15: select = int(input('select: ')) select -= 1 stats[select] = stats[select] + random.randint(5, 15) обратите внимание, что повышая одну стату на сгенерированное число, все остальные должны уменьшиться на случайное значение в пределах от 5 до 15: for i in range(len(stats)): if i == select: continue stats[i] = stats[i] - random.randint(5, 15).3. персонаж обладает набором скилов: fireball, lightning, silence, fire ward.использование каждого из них отнимает разное количество единиц статов, а именно: атрибуты занесите эти данные в список, чтобы в дальнейшем воспользоваться ими в игре: fireball = [12, 15, 28, 10, 5] № 944. предоставьте пользователю возможность использовать скилы, например, по нажатию 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 = [] не стали отрицательными. результат работы: файл с расширением .py. выбор по на ваше усмотрение: atom, pycharm, python idle или др.
//Школьный вариант
Var
s:string;
p:real;
se:set of char;
i:integer;
begin
readln(s);
se:=['0','1','2','3','4','5','6','7','8','9'];
for i:=1 to length(s) do
if s[i] in se then
begin
p:=p+1;
write(s[i]);
end;
p:=p/(length(s)/100);
writeln;
writeln('Percent=',p);
end.
//Альтернативный вариант
Var
s:string;
se:set of char;
begin
readln(s);
se:=['0','1','2','3','4','5','6','7','8','9'];
s.Where(x -> x in se).Println;
writeln('Percent=',s.where(x -> x in se).Count/(length(s)/100));
end.
Пример ввода:
I3artle, Caster, 1 of 7 summoned characters.
Пример вывода:
317
Percent=6.81818181818182
//Pascal ABC.NET 3.1 сборка 1219
uses
system;
Var
d1,d2:datetime;
a:integer;
begin
writeln('1 дата:');
write('День:');readln(a);d1:=d1.AddDays(a);
write('Месяц:');readln(a);d1:=d1.AddMonths(a);
write('Год:');readln(a);d1:=d1.AddYears(a);
writeln('2 дата:');
write('День:');readln(a);d2:=d2.AddDays(a);
write('Месяц:');readln(a);d2:=d2.AddMonths(a);
write('Год:');readln(a);d2:=d2.AddYears(a);
writeln('Res:',abs((d2-d1).Days));
end.
Пример ввода:
1 дата:
День:1
Месяц:1
Год:1998
2 дата:
День:2
Месяц:1
Год:1999
Пример вывода:
Res:366