М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
lerusik112
lerusik112
12.03.2023 06:53 •  Информатика

Программирование на Python, 35б даю ТЕМА: Работа со списками
Задание
У вас есть персонаж, обладающий рядом
и статов.
Напишите программу по заданным условиям:
1. Персонаж имеет набор статов: strength, dexterity, intelligence, wisdom, charisma. Каждая стата имеет свой запас.
2
Значения запасов каждой статы должны быть случайны – в пределах от 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
3. Персонаж обладает набором скилов: fireball, lightning,
silence, fire ward.
Использование каждого из них отнимает разное количество единиц статов, а именно:
Атрибуты /

Wisdom Charisma
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]
4
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 = []
не стали отрицательными.

👇
Открыть все ответы
Ответ:
oxpoluhina2017
oxpoluhina2017
12.03.2023
PascalABC.NET 3.3.5, сборка 1640 от 17.03.2018
Внимание! Если программа не работает, обновите версию!

1. Современное решение

begin
  var m:=ReadInteger('Введите расстояние в метрах');
  var (km,mm):=(m div 1000,m mod 1000);
  Write(m,'км = ',km,'км');
  if mm>0 then Writeln(' ',mm,'м') else Writeln
end.

Пример
Введите расстояние в метрах 4501
4501км = 4км 501м

2. Так часто учат писать в школе

program Perevod;

var
  m,km,mm:integer;
 
begin
  Write('Введите расстояние в метрах');
  Readln(m);
  km:=m div 1000;
  mm:=m mod 1000;
  Write(m,'км = ',km,'км');
  if mm>0 then Writeln(' ',mm,'м')
  else Writeln;
end.
4,7(39 оценок)
Ответ:
piv1490
piv1490
12.03.2023
#include <iostream>
#include <algorithm>
using namespace std;

int main()
{
    long long int n{ 0 }, z{ 0 };
    while (cin >> n) {
        size_t ans[120];
        for (; n != 0; n = n / 10) {
            int tmp = n % 10;
            if (n / 10 != 0 || (n / 10 == 0 && n != 9)) { 
                tmp = min(tmp, 9 - tmp); 
            }
            ans[z++] = tmp;
        }
        for (int i = z - 1; i >= 0; i--) {
            cout << ans[i];
        }
        cout << endl;
    }
    return 0;
}
4,4(27 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ