Skip to content

Instantly share code, notes, and snippets.

@ZechCodes
Created November 17, 2020 01:56
Show Gist options
  • Save ZechCodes/5839a9cf36015ae4a8500aa3dbd2e3fa to your computer and use it in GitHub Desktop.
Save ZechCodes/5839a9cf36015ae4a8500aa3dbd2e3fa to your computer and use it in GitHub Desktop.
Challenge 149 - Calculating Damage

Challenge 149 - Calculating Damage

Create a function that takes damage and speed (attacks per second) and returns the amount of damage after a given time.

Examples

calculate_damage(40, 5, "second") ➞ 200

calculate_damage(100, 1, "minute") ➞ 6000

calculate_damage(2, 100, "hour") ➞ 720000

Notes

  • Return "invalid" if damage or speed is negative.
import unittest
def calculate_damage(damage: int, speed: int, duration: str) -> int:
return 0 # Put your code here!!!
class Test(unittest.TestCase):
def test_1(self):
self.assertEqual(200, calculate_damage(40, 5, "second"))
def test_2(self):
self.assertEqual(6000, calculate_damage(100, 1, "minute"))
def test_3(self):
self.assertEqual(720000, calculate_damage(2, 100, "hour"))
def test_4(self):
self.assertEqual(600, calculate_damage(20, 0.5, "minute"))
def test_5(self):
self.assertEqual(2880000, calculate_damage(2, 400, "hour"))
def test_6(self):
self.assertEqual("invalid", calculate_damage(-23, 20, "second"))
def test_7(self):
self.assertEqual("invalid", calculate_damage(-23, -5, "second"))
def test_8(self):
self.assertEqual("invalid", calculate_damage(20, -492321, "hour"))
if __name__ == "__main__":
unittest.main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment