Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def check_index(collection: list, index : int):
- if 0 <= index < len(collection):
- return True
- return False
- def check_at_shoot(collection: list, target_index : int, power : int):
- if check_index(collection, target_index):
- collection[target_index] -= power
- if collection[target_index] <=0:
- collection.pop(target_index)
- return collection
- def add_at_shoot(collection: list, target_index: int, power: int):
- if not check_index(collection, target_index):
- print("Invalid placement!")
- return collection
- collection.insert(target_index, power)
- return collection
- def strike_at_shoot(collection: list, target_index: int, power: int):
- right_side = target_index + power
- left_side = target_index - power
- if check_index(collection, target_index) and \
- check_index(collection,right_side) and \
- check_index(collection, left_side):
- for i in range(left_side, right_side+1):
- collection.pop(left_side)
- else:
- print("Strike missed!")
- return collection
- old_number = input().split()
- numbers =[int(el) for el in old_number]
- command = input()
- while command != "End":
- cmd_arg = command.split()
- cmd_type = cmd_arg[0]
- cmd_index = int(cmd_arg[1])
- cmd_power = int(cmd_arg[2])
- if cmd_type == "Shoot":
- numbers = check_at_shoot(numbers,cmd_index, cmd_power)
- elif cmd_type == "Add":
- numbers = add_at_shoot(numbers, cmd_index, cmd_power)
- elif cmd_type == "Strike":
- numbers = strike_at_shoot(numbers,cmd_index, cmd_power)
- command = input()
- new_number = [str(num) for num in numbers]
- print("|".join(new_number))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement