Difference between revisions of "One-line Python programs"
From MathMoth
m (1 revision imported) |
|||
Line 2: | Line 2: | ||
==One-line Python programs== | ==One-line Python programs== | ||
− | Sometimes, Python exercises require | + | Sometimes, Python exercises require solving the problem in one line of code. |
− | Even if this is not required, one-line | + | Even if this is not required, one-line solutions are fun to write. |
Besides, a short program doesn't leave too much space for bugs. | Besides, a short program doesn't leave too much space for bugs. | ||
− | + | A factorial can be coded as | |
print((lambda foo, i: foo(foo, i))(lambda f, n: 1 if n == 0 else f(f, n-1)*n, int(input()))) | print((lambda foo, i: foo(foo, i))(lambda f, n: 1 if n == 0 else f(f, n-1)*n, int(input()))) | ||
− | + | Printing the odd elements of a list. | |
print(*map(lambda a:a[1], filter(lambda x: x[0]%2==0, enumerate(input().split())))) | print(*map(lambda a:a[1], filter(lambda x: x[0]%2==0, enumerate(input().split())))) | ||
or | or | ||
print(*input().split()[0::2]) | print(*input().split()[0::2]) | ||
− | + | The maximum element of the list and its index. | |
print(*reversed(max(enumerate(map(int,input().split())),key=lambda a:a[1]))) | print(*reversed(max(enumerate(map(int,input().split())),key=lambda a:a[1]))) | ||
− | + | Inserting a character between every pair of characters in a given string. | |
print(input().replace('','*')[1 : -1]) | print(input().replace('','*')[1 : -1]) | ||
or | or | ||
print("*".join(tuple(input()))) | print("*".join(tuple(input()))) |
Revision as of 20:06, 3 August 2017
English Russian
One-line Python programs
Sometimes, Python exercises require solving the problem in one line of code. Even if this is not required, one-line solutions are fun to write. Besides, a short program doesn't leave too much space for bugs.
A factorial can be coded as
print((lambda foo, i: foo(foo, i))(lambda f, n: 1 if n == 0 else f(f, n-1)*n, int(input())))
Printing the odd elements of a list.
print(*map(lambda a:a[1], filter(lambda x: x[0]%2==0, enumerate(input().split()))))
or
print(*input().split()[0::2])
The maximum element of the list and its index.
print(*reversed(max(enumerate(map(int,input().split())),key=lambda a:a[1])))
Inserting a character between every pair of characters in a given string.
print(input().replace(,'*')[1 : -1])
or
print("*".join(tuple(input())))