балов
Вы находитесь в квест-комнате по мультфильму WALL-E!
Чтобы выбраться из комнаты, необходимо выполнить такие
шаги:
1. Узнайте длину строки s приведенного текста и выведите
это значение в консоль.
2. Выведите весь текст в нижнем регистре.
3. Кто-то допустил ошибку и некорректно написал имя робота
WALL-E! Замените все вхождения слова WALLE на WALL-E.
4. Наконец, подсчитайте, сколько раз в тексте было использовано слово Earth.
Код к заданию 1:
s = "In a distant, but not so unrealistic, future \
where mankind has abandoned earth because it has \
become covered with trash from products sold by \
the powerful multi-national Buy N Large
corporation, \
WALLE, a garbage collecting robot has been left to \
clean up the mess. Mesmerized with trinkets of
Earth's \
history and show tunes, WALLE is alone on Earth
except \
Домашнее задание №7
2
for a sprightly pet cockroach. One day, EVE, a
sleek \
(and dangerous) reconnaissance robot, is sent to
Earth to \
find proof that life is once again sustainable."
# Step 1
len()
# Step 2
?.upper()
# Step 3
?.replace(*, *, *)
# Step 4
?.count()
Задание 2
Напишите программу, которая позволит проверять пароль
на сложность. Воспользуйтесь строковыми методами, описанными в разделе 4.7.1. String Methods (https://docs.python.
org/3.6/library/stdtypes.html#str.isupper).
Проверку пароля следует проводить по таким критериям:
1. Длина: от 5 символов.
2. Буквы латинского алфавита в верхнем и нижнем регистре: A, a, Z, z.
Домашнее задание №7
3
3. Цифры: от 0 до 9.
4. Символы: @, #, %, &.
Рекомендации
Можете воспользоваться методом isnumeric() для проверки строки на наличие цифр. Метод isupper() позволяет
выполнить проверку букв в верхнем регистре, islower()
следует использовать для проверки нижнего регистра. В свою
очередь, isalpha() позволит определить символ в строке.
= - 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
public static void main(String args[]){
java.util.Scanner in = new java.util.Scanner(System.in);
String string = in.nextLine(); char chars[] = new char[4];
chars[0] = in.nextLine().charAt(0); chars[2] = in.nextLine().charAt(0);
for(int sChar = 0; sChar<string.length(); sChar++)
if(string.charAt(sChar)==chars[0])chars[1]++;
else if(string.charAt(sChar)==chars[2])chars[3]++;
System.out.print("\n"+(chars[1]==chars[3]?chars[0]+""+chars[2]:chars[1]>chars[3]?chars[0]:chars[2]));
}
}