✨ Add some easy one
This commit is contained in:
parent
95b2aa6c2f
commit
1ac80708fc
19
Elementary/digits-multiplication.py
Normal file
19
Elementary/digits-multiplication.py
Normal file
@ -0,0 +1,19 @@
|
||||
def checkio(number: int) -> int:
|
||||
number = str(number)
|
||||
x = 1
|
||||
for y in number:
|
||||
if y != '0':
|
||||
x *= int(y)
|
||||
return x
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
print('Example:')
|
||||
print(checkio(123405))
|
||||
|
||||
# These "asserts" using only for self-checking and not necessary for auto-testing
|
||||
assert checkio(123405) == 120
|
||||
assert checkio(999) == 729
|
||||
assert checkio(1000) == 1
|
||||
assert checkio(1111) == 1
|
||||
print("Coding complete? Click 'Check' to review your tests and earn cool rewards!")
|
16
Elementary/easy-unpack.py
Normal file
16
Elementary/easy-unpack.py
Normal file
@ -0,0 +1,16 @@
|
||||
def easy_unpack(elements: tuple) -> tuple:
|
||||
"""
|
||||
returns a tuple with 3 elements - first, third and second to the last
|
||||
"""
|
||||
return elements[0], elements[2], elements[-2]
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
print('Examples:')
|
||||
print(easy_unpack((1, 2, 3, 4, 5, 6, 7, 9)))
|
||||
|
||||
# These "asserts" using only for self-checking and not necessary for auto-testing
|
||||
assert easy_unpack((1, 2, 3, 4, 5, 6, 7, 9)) == (1, 3, 7)
|
||||
assert easy_unpack((1, 1, 1, 1)) == (1, 1, 1)
|
||||
assert easy_unpack((6, 3, 7)) == (6, 7, 3)
|
||||
print('Done! Go Check!')
|
18
Elementary/index-power.py
Normal file
18
Elementary/index-power.py
Normal file
@ -0,0 +1,18 @@
|
||||
def index_power(array: list, n: int) -> int:
|
||||
"""
|
||||
Find Nth power of the element with index N.
|
||||
"""
|
||||
return (array[n] ** n) if n < len(array) else -1
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
print('Example:')
|
||||
print(index_power([1, 2, 3, 4], 2))
|
||||
|
||||
# These "asserts" using only for self-checking and not necessary for auto-testing
|
||||
assert index_power([1, 2, 3, 4], 2) == 9, "Square"
|
||||
assert index_power([1, 3, 10, 100], 3) == 1000000, "Cube"
|
||||
assert index_power([0, 1], 0) == 1, "Zero power"
|
||||
assert index_power([1, 2], 3) == -1, "IndexError"
|
||||
assert index_power([1, 1, 1, 1, 1, 1, 1, 1, 1, 1], 9) == 1, "IndexError"
|
||||
print("Coding complete? Click 'Check' to review your tests and earn cool rewards!")
|
12
Elementary/multiply-intro.py
Normal file
12
Elementary/multiply-intro.py
Normal file
@ -0,0 +1,12 @@
|
||||
def mult_two(a, b):
|
||||
return a * b
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
print("Example:")
|
||||
print(mult_two(3, 2))
|
||||
|
||||
# These "asserts" are used for self-checking and not for an auto-testing
|
||||
assert mult_two(3, 2) == 6
|
||||
assert mult_two(1, 0) == 0
|
||||
print("Coding complete? Click 'Check' to earn cool rewards!")
|
45
Home/the-warriors.py
Normal file
45
Home/the-warriors.py
Normal file
@ -0,0 +1,45 @@
|
||||
class Warrior:
|
||||
def __init__(self):
|
||||
self.health = 50
|
||||
self.attack = 5
|
||||
self.is_alive = True
|
||||
|
||||
def hit(self, other_unit) -> bool:
|
||||
other_unit.health -= self.attack
|
||||
other_unit.is_alive = other_unit.health > 0
|
||||
return other_unit.is_alive
|
||||
|
||||
|
||||
class Knight(Warrior):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self.attack = 7
|
||||
|
||||
|
||||
def fight(unit_1, unit_2):
|
||||
while unit_1.is_alive and unit_2.is_alive:
|
||||
if not unit_1.hit(unit_2):
|
||||
return True
|
||||
if not unit_2.hit(unit_1):
|
||||
return False
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
# These "asserts" using only for self-checking and not necessary for auto-testing
|
||||
|
||||
chuck = Warrior()
|
||||
bruce = Warrior()
|
||||
carl = Knight()
|
||||
dave = Warrior()
|
||||
mark = Warrior()
|
||||
|
||||
assert fight(chuck, bruce) == True
|
||||
assert fight(dave, carl) == False
|
||||
assert chuck.is_alive == True
|
||||
assert bruce.is_alive == False
|
||||
assert carl.is_alive == True
|
||||
assert dave.is_alive == False
|
||||
assert fight(carl, mark) == False
|
||||
assert carl.is_alive == False
|
||||
|
||||
print("Coding complete? Let's try tests!")
|
17
ScientificExpedition/verify-anagrams.py
Normal file
17
ScientificExpedition/verify-anagrams.py
Normal file
@ -0,0 +1,17 @@
|
||||
def verify_anagrams(first_word, second_word):
|
||||
first_word = first_word.replace(" ", "").lower()
|
||||
second_word = list(second_word.replace(" ", "").lower())
|
||||
for letter in first_word:
|
||||
if letter in second_word:
|
||||
second_word.remove(letter)
|
||||
else:
|
||||
return False
|
||||
return len(second_word) == 0
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
# These "asserts" using only for self-checking and not necessary for auto-testing
|
||||
assert isinstance(verify_anagrams("a", 'z'), bool), "Boolean!"
|
||||
assert verify_anagrams("Programming", "Gram Ring Mop") == True, "Gram of code"
|
||||
assert verify_anagrams("Hello", "Ole Oh") == False, "Hello! Ole Oh!"
|
||||
assert verify_anagrams("Kyoto", "Tokyo") == True, "The global warming crisis of 3002"
|
Loading…
Reference in New Issue
Block a user