Compare commits

...

1 Commits
stable ... hks

Author SHA1 Message Date
freezed 31b86f6059 Add some python trainings 2023-05-01 18:32:38 +02:00
13 changed files with 438 additions and 0 deletions

View File

@ -0,0 +1,39 @@
#!/usr/bin/env python3
# coding: utf8
"""base-13-print-even-numbers"""
def print_even_numbers(start, stop):
"""
Function documentation
:Examples:
>>> print_even_numbers(1, 45)
2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
32
34
36
38
40
42
44
"""
if start % 2 != 0:
start +=1
for numb in range(start, stop, 2):
print(numb)

View File

@ -0,0 +1,29 @@
#!/usr/bin/env python3
# coding: utf8
"""115-multiples-of-3-and-5.py"""
def multiple_35(number):
"""
:Examples:
>>> print(multiple_35(20))
[3, 5, 6, 9, 10, 12, 15, 18]
"""
return [num for num in range(1, number) if num % 3 == 0 or num % 5 == 0]
def main(number):
"""
:Examples:
>>> main(20)
78
"""
return sum(multiple_35(number))
print(main(1000))
if __name__ == "__main__":
import doctest
doctest.testmod()

26
hks/016-temperatures.py Normal file
View File

@ -0,0 +1,26 @@
#!/usr/bin/env python3
# coding: utf8
"""016-temperatures.py"""
def fahrenheit_to_celsius(temp_f):
"""
:Examples:
>>> fahrenheit_to_celsius(212)
100.0
"""
return ((temp_f - 32) / float("1.8"))
def celsius_to_fahrenheit(temp_c):
"""
:Examples:
>>> celsius_to_fahrenheit(100)
212.0
"""
return ((9/5) * temp_c + 32)
if __name__ == "__main__":
import doctest
doctest.testmod()

View File

@ -0,0 +1,25 @@
#!/usr/bin/env python3
# coding: utf8
"""017-print-every-two-letters-pairs.py"""
from string import ascii_lowercase
def main():
"""
:Examples:
>>> main() # doctest: +ELLIPSIS
aa
ab
...
ba
bb
...
zz
"""
for letter_1 in ascii_lowercase:
for letter_2 in ascii_lowercase:
print(f"{letter_1}{letter_2}")
if __name__ == "__main__":
import doctest
doctest.testmod()

View File

@ -0,0 +1,27 @@
#!/usr/bin/env python3
# coding: utf8
"""017-print-every-two-letters-pairs.py"""
from string import ascii_lowercase
def main():
"""
:Examples:
>>> main() # doctest: +ELLIPSIS
ab
ac
...
ba
bc
...
zy
"""
for letter_1 in ascii_lowercase:
for letter_2 in ascii_lowercase:
if letter_1 != letter_2:
print(f"{letter_1}{letter_2}")
if __name__ == "__main__":
import doctest
doctest.testmod()
main()

30
hks/101-distance.py Normal file
View File

@ -0,0 +1,30 @@
#!/usr/bin/env python3
# coding: utf8
"""01-distance.py"""
def dist(points):
"""
Function documentation
:Tests:
>>> dist([1, 2, 3])
2
>>> dist([1, 2, 3, 2.5])
2
>>> dist([1, 2, 3, 2.5, 3.5])
2.5
>>> dist([1, 2, 3, 2.5, 3.5, 120])
119
>>> dist([1, 2, 3, 2.5, 3.5, 120, -1000])
1120
"""
return(max(points) - min(points))
if __name__ == "__main__":
import doctest
doctest.testmod()
dist([1, 2, 3, 2.5, 3.5, 120])

31
hks/102-is-prime.py Normal file
View File

@ -0,0 +1,31 @@
#!/usr/bin/env python3
# coding: utf8
"""02-is-prime.py"""
def is_prime(number):
"""
:Examples:
>>> is_prime(20021731)
True
>>> is_prime(23)
True
>>> is_prime(1)
False
>>> is_prime(20)
False
"""
if number < 2:
return False
for divisor in range(2, int(number ** 0.5) +1):
if number % divisor == 0:
return False
return True
assert is_prime(20021731) == True
assert is_prime(23) == True
assert is_prime(1) == False
assert is_prime(4) == False
assert is_prime(20) == False

View File

@ -0,0 +1,45 @@
#!/usr/bin/env python3
# coding: utf8
"""entrainement-03-sum-every-prime-number-below-n"""
def is_prime(number):
"""
:Examples:
>>> is_prime(20021731)
True
>>> is_prime(23)
True
>>> is_prime(1)
False
>>> is_prime(20)
False
"""
if number < 2:
return False
for divisor in range(2, int(number ** 0.5) +1):
if number % divisor == 0:
return False
return True
def sum_primes(number):
"""Function documentation
:Examples:
>>> sum_primes(10)
17
>>> sum_primes(2)
0
>>> sum_primes(79)
712
"""
return sum([num for num in range(number) if is_prime(num)])
if __name__ == "__main__":
import doctest
doctest.testmod()

View File

@ -0,0 +1,54 @@
#!/usr/bin/env python3
# coding: utf8
"""116-print-every-prime-numbers-in-a-range.py"""
def is_prime(number):
"""Function documentation.
:Examples:
>>> is_prime(20021731)
True
>>> is_prime(23)
True
>>> is_prime(1)
False
>>> is_prime(4)
False
>>> is_prime(20)
False
"""
if number < 2:
return False
for divisor in range(2, int(number ** 0.5) +1):
if number % divisor == 0:
return False
return True
def prime_in_range(start, stop):
"""
:Examples:
>>> prime_in_range(1, 10)
'2, 3, 5, 7'
"""
primes = [num for num in range(start, stop) if is_prime(num)]
last = primes.pop()
solution = ""
for prime in primes:
solution += f"{prime}, "
solution += f"{last}"
return solution
print(prime_in_range(10000, 10050))
if __name__ == "__main__":
import doctest
doctest.testmod()

View File

@ -0,0 +1,45 @@
#!/usr/bin/env python3
# coding: utf8
"""print-the-first-prime-number-after-the-given-one.py"""
from itertools import count as itercount
def is_prime(number):
"""
:Examples:
>>> is_prime(20021731)
True
>>> is_prime(23)
True
>>> is_prime(1)
False
>>> is_prime(20)
False
"""
if number < 2:
return False
for divisor in range(2, int(number ** 0.5) +1):
if number % divisor == 0:
return False
return True
def main(target):
"""
:Examples:
>>> main(6)
7
"""
# genere une liste de nombre
for number in itercount(target):
if is_prime(number):
return number
print(main(100_000_000))
if __name__ == "__main__":
import doctest
doctest.testmod()

View File

@ -0,0 +1,32 @@
#!/usr/bin/env python3
# coding: utf8
"""entrainement-06-fibonacci-sequence"""
def fibonacci(param):
"""
Function documentation
:Examples:
>>> fibonacci(2)
[1, 1]
>>> fibonacci(5)
[1, 1, 2, 3, 5]
"""
a, b = 1, 1
fib = []
for i in range(param):
fib.append(a)
a, b = b, a+b
i+=i
return fib
if __name__ == "__main__":
import doctest
doctest.testmod()
# assert fibonacci(5) == [1, 1, 2, 3, 5]
# assert fibonacci(2) == [1, 1]

View File

@ -0,0 +1,9 @@
flavors = ["Banana","Chocolate","Lemon","Pistachio","Raspberry","Strawberry","Vanilla",]
complements = flavors.copy()
recipies = []
for flavor in flavors:
complements.remove(flavor)
for complement in complements:
print(f"{flavor}, {complement}")

46
hks/203-sets-of-love.py Normal file
View File

@ -0,0 +1,46 @@
#!/usr/bin/env python3
# coding: utf8
"""sets-of-love.py"""
def love_meet(bob, alice):
"""
Function documentation
:Tests:
>>> alice = ['', '', '', '', '', '']
>>> bob = ['', '', '', '', '', '']
>>> love_meet(bob, alice)
{'', ''}
"""
meet_districts = [district for district in alice if district in bob]
result = set()
for district in meet_districts:
result.add(district)
return result
def affair_meet(bob, alice, silvester):
"""
Function documentation
:Tests:
>>> alice = ['', '', '', '', '', '', '']
>>> bob = ['', '', '', '', '', '']
>>> silvester = ['VⅢ', '', '', '', '', 'VⅢ']
>>> affair_meet(bob, alice, silvester)
{''}
"""
return {district for district in alice if district in silvester and district not in bob}
if __name__ == "__main__":
import doctest
doctest.testmod()