В поезде едут пассажиры Иванов, Петров и Сидоров. Оказалось, что такие же фамилии у машиниста поезда,
его и у проводника. Известно, что:
1) пассажир Иванов живёт в Москве;
2) проводник живёт на
на подути между Москвой и
Санкт-Петербургом;
3) пассажир однофамилец проводника
живёт в
Санкт-Петербурге;
4) у пассажира, который живёт ближе к месту житель-
ства проводника, чем другие пассажиры, вдвое боль-
ше детей, чем у проводника;
5) у пассажира Петрова трое детей;
6) Сидоров (из поездной бригады) недавно выиграл у
машиниста партию на бильярде.
Какая фамилия у машиниста поезда?
1. Получаем гласные
Этот пример возвращает в строке найденные гласные "a e i o u". Это может оказаться полезным при поиске или обнаружении гласных.
def get_vowels(String):
return [each for each in String if each in "aeiou"]
get_vowels("animal") # [a, i, a]
get_vowels("sky") # []
get_vowels("football") # [o, o, a]
2. Первая буква в верхнем регистре
Этот пример используется для превращения каждой первой буквы символов строки в прописную букву. Он работает со строкой из одного или нескольких символов и будет полезен при анализе текста или записи данных в файл и т.п.
def capitalize(String):
return String.title()
capitalize("shop") # [Shop]
capitalize("python programming") # [Python Programming]
capitalize("how are you!") # [How Are You!]
3. Печать строки N раз
Этот пример может печатать любую строку n раз без использования циклов Python.
n=5
string="Hello World "
print(string * n) #Hello World Hello World Hello World Hello World Hello World
4. Объединяем два словаря
Этот пример выполняет слияние двух словарей в один.
def merge(dic1,dic2):
dic3=dic1.copy()
dic3.update(dic2)
return dic3
dic1={1:"hello", 2:"world"}
dic2={3:"Python", 4:"Programming"}
merge(dic1,dic2) # {1: 'hello', 2: 'world', 3: 'Python', 4: 'Programming'}
5. Вычисляем время выполнения
Этот пример полезен, когда вам нужно знать, сколько времени требуется для выполнения программы или функции.
import time
start_time= time.time()
def fun():
a=2
b=3
c=a+b
end_time= time.time()
fun()
timetaken = end_time - start_time
print("Your program takes: ", timetaken) # 0.0345
6. Обмен значений между переменными
Это быстрый обменять местами две переменные без использования третьей.
a=3
b=4
a, b = b, a
print(a, b) # a= 4, b =3
7. Проверка дубликатов
Это самый быстрый проверки наличия повторяющихся значений в списке.
def check_duplicate(lst):
return len(lst) != len(set(lst))
check_duplicate([1,2,3,4,5,4,6]) # True
check_duplicate([1,2,3]) # False
check_duplicate([1,2,3,4,9]) # Fal
8. Фильтрация значений False
Этот пример используется для устранения всех ложных значений из списка, например false, 0, None, " ".
def Filtering(lst):
return list(filter(None,lst))
lst=[None,1,3,0,"",5,7]
Filtering(lst) #[1, 3, 5, 7]
9. Размер в байтах
Этот пример возвращает длину строки в байтах, что удобно, когда вам нужно знать размер строковой переменной.
def ByteSize(string):
return len(string.encode("utf8"))
ByteSize("Python") #6
ByteSize("Data") #4
Объяснение:
Язык: Java
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int n = input.nextInt();
ArrayList<PointHolder> data = new ArrayList<>();
System.out.println("Init for "+n);
for(int i =0;i<n;i++){
input = new Scanner(System.in);
String inp = input.nextLine();
System.out.println("Got: "+inp);
data.add(new PointHolder(new BigInteger(inp.split(" ")[0]),
new BigInteger(inp.split(" ")[1]),
new BigInteger(inp.split(" ")[2])));
}
for(PointHolder holder:data){
if(canExists(holder)){
System.out.println("Может существовать равнобедренный треугольник со сторонами: "+holder.one + " "+holder.two+" "+holder.three);
}
}
}
public static boolean canExists(PointHolder holder){
if(holder.one.equals(holder.two) || holder.one.equals(holder.three) || holder.two.equals(holder.three)){
long o = holder.one.longValue();
long t = holder.two.longValue();
long th = holder.three.longValue();
return (o<t+th) && (t < o+th) && (th < o+t);
}else{
return false;
}
}
}
class PointHolder{
BigInteger one;
BigInteger two;
BigInteger three;
PointHolder(BigInteger o,BigInteger t,BigInteger th){
one=o;
two=t;
three=th;
}
}