FATAHOVAMAINA
?>

Тема: работа со списками у вас есть персонаж, рядом и статов. напишите программу по заданным условиям: 1. персонаж имеет набор статов: strength, dexterity, intelligence, wisdom, charisma. каждая стата имеет свой запас. №9 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) №9 3 3. персонаж обладает набором скилов: fireball, lightning, silence, fire ward. использование каждого из них отнимает разное количество единиц статов, а именно: атрибуты занесите эти данные в список, чтобы в дальнейшем воспользоваться ими в игре: fireball = [12, 15, 28, 10, 5] №9 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 = [] не стали отрицательными.

Информатика

Ответы

ibombenkova
1)  Один байт = 8 бит, максимальное число 2^8 - 1 = 255, если числа без знака.  Для знаковых чисел старший бит отводится под знак числа, следовательно, минимальное число = - 2^7 - 1
 = - 127,  максимальное число = + 127
2)  Число 1607, ячейка двухбайтовая, один бит под знак, следовательно, под число отводится 15 бит,  в двоичном представлении 1607(10) = 11001000111(2), дополняем до 16 бит, старший бит - знаковый - нулевой, так как число положительное
= 0000011001000111(2) - это двоичное представление в двухбайтовой ячейке, чтобы получить шестнадцатиричное представление, разбиваем число справа - налево по 4 бита
0000  0110  0100  0111  и записываем в шестнадцатиричном виде 
0111(2) = 7(16)   0100(2) = 4(16)   0110(2) =6(16)   0000(2) = 0(16)
1607(16) = 0647(16) или без старшего не значащего нуля  = 647(16)
3) для получения дополнительного кода числа, находят обратное число, или инверсию числа,
для этого каждый бит числа изменяют на противоположный, 1 на 0, 0 на 1
105(10) = 1101001(2) - это и есть дополнительный код числа - 105, т.е. дополнительным кодом
числа (- а)   будет число а.
Найдем дополнительный код в однобайтовой ячейке числа 105(10) = 01101001(2),
а) находим обратное  01101001(2)  ->(обратное) ->10010110(2)
б) дополнительный код-> обратный код + 1 ->(дополнительный)->10010111(2), а это число - 105
потому, что отрицательные числа представляются в дополнительном коде.
Если для числа - 105 найти дополнительный код, то получим число 105
10010111(2)->(дополнительный)->01101000+1->01101001 = 69(16) = 16*6+9 = 96+9 = 105
verachus
Чтобы это узнать нам потребуется разобрать это на примере.
допустим у нас есть изображение размером 1024х1024 пикселя.
чтобы определить объем занимаемой памяти при наличии на нем 65 536 цветов для начала нужно выяснить сколькими битами кодировать один пиксель.  65 536 = 2^16 => один пиксель кодируется 16 битами. 
значит объем памяти изображения будет составлять:
1024*1024*16= 16 777 216 бит.
теперь вычислим объем памяти при  наличии 16 цветов на изображении.
16=2^4 =>
1024*1024*4=4 194 304
теперь чтобы определить во сколько раз уменьшился объем памяти изображения мы выполняем следующее действие:
16 777 216 : 4 194 304 = 4
т е объем памяти изображения уменьшился в 4 раза.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Тема: работа со списками у вас есть персонаж, рядом и статов. напишите программу по заданным условиям: 1. персонаж имеет набор статов: strength, dexterity, intelligence, wisdom, charisma. каждая стата имеет свой запас. №9 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) №9 3 3. персонаж обладает набором скилов: fireball, lightning, silence, fire ward. использование каждого из них отнимает разное количество единиц статов, а именно: атрибуты занесите эти данные в список, чтобы в дальнейшем воспользоваться ими в игре: fireball = [12, 15, 28, 10, 5] №9 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 = [] не стали отрицательными.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

hachatryanlilit1983
Ivanovich-A.V
mrubleva42
oksanakv1950
oyunabaduraeva
teashop
Vladimirovna Dmitrieva
Svetlana ALLA
sergey
vit010916
tarhan1221
dmitrijku
veravlad
textildlavas21
kirycha-2000719