Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
31b86f6059 |
39
hks/013-print-even-numbers.py
Normal file
39
hks/013-print-even-numbers.py
Normal 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)
|
29
hks/015-multiples-of-3-and-5.py
Normal file
29
hks/015-multiples-of-3-and-5.py
Normal 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
26
hks/016-temperatures.py
Normal 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()
|
25
hks/017-print-every-two-letters-pairs.py
Normal file
25
hks/017-print-every-two-letters-pairs.py
Normal 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()
|
27
hks/018-print-every-pair-of-distinct-letters.py
Normal file
27
hks/018-print-every-pair-of-distinct-letters.py
Normal 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
30
hks/101-distance.py
Normal 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
31
hks/102-is-prime.py
Normal 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
|
45
hks/103-sum-every-prime-number-below-n.py
Normal file
45
hks/103-sum-every-prime-number-below-n.py
Normal 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()
|
54
hks/104-print-every-prime-numbers-in-a-range.py
Normal file
54
hks/104-print-every-prime-numbers-in-a-range.py
Normal 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()
|
45
hks/105-print-the-first-prime-number-after-the-given-one.py
Normal file
45
hks/105-print-the-first-prime-number-after-the-given-one.py
Normal 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()
|
32
hks/106-fibonacci-sequence.py
Normal file
32
hks/106-fibonacci-sequence.py
Normal 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]
|
9
hks/202-print-sorbet-flavors.py
Normal file
9
hks/202-print-sorbet-flavors.py
Normal 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
46
hks/203-sets-of-love.py
Normal 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()
|
Loading…
Reference in New Issue
Block a user