Difference between revisions of "One-line Python programs"

From MathMoth
Jump to: navigation, search
m (1 revision imported)
Line 2: Line 2:
 
==One-line Python programs==
 
==One-line Python programs==
  
Sometimes, Python exercises require to solve the problem in one line of code.
+
Sometimes, Python exercises require solving the problem in one line of code.
Even if this is not required, one-line solution is fun to write.
+
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.
  
Factorial can be coded as  
+
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())))
  
Writing odd elements of the list.
+
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])
  
Max element of the list and its index.
+
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])))
  
Insert a character between every pair of characters of a given string.  
+
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 21: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())))