CMHammond

HackEx Ad Time

Feb 27th, 2020
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.85 KB | None | 0 0
  1. # Output - How many days it would take to get to X days left.
  2. # Input - Total time left.
  3.  
  4. def checkInput(input):
  5.     # Input is type string.
  6.    
  7.     for char in input:
  8.         #print("Character:", input[char], "Index:", char)
  9.         if not char in "0123456789.":
  10.              return False
  11.     return True
  12.        
  13. def adWatch(totalTime, time):
  14.     reducedTime = totalTime
  15.     print("Starting time:", totalTime)
  16.     reducedTime *= 0.9
  17.     print("-10%", reducedTime, "(-%f)" % (totalTime - reducedTime))
  18.     tempTime = reducedTime
  19.     reducedTime *= 0.92
  20.     print("-08%", reducedTime, "(-%f)" % (tempTime - reducedTime))
  21.     tempTime = reducedTime
  22.     reducedTime *= 0.94
  23.     print("-06%", reducedTime, "(-%f)" % (tempTime - reducedTime))
  24.     tempTime = reducedTime
  25.     reducedTime *= 0.96
  26.     print("-04%", reducedTime, "(-%f)" % (tempTime - reducedTime))
  27.     tempTime = reducedTime
  28.     reducedTime *= 0.98
  29.     print("-02%", reducedTime, "(-%f)" % (tempTime - reducedTime))
  30.     tempTime = reducedTime
  31.     reducedTime *= 0.99
  32.     print("-01%", reducedTime, "(-%f)" % (tempTime - reducedTime))
  33.     tempTime = reducedTime
  34.    
  35.     # Even though the percentages add up to 31%, it actually only subtracts 27.507898% off the original time.
  36.     print("Time reduced by %f" % (totalTime - reducedTime) + " (-%f" % (100 / (time / (time - reducedTime))) + "%)")
  37.     return reducedTime
  38.    
  39.    
  40. def main():
  41.     time = input("How long will the process take? (days): ")
  42.    
  43.     if checkInput(time) == False:
  44.         print("Invalid input.")
  45.         return
  46.     else: time = float(time)
  47.            
  48.     print()
  49.        
  50.     count = 1
  51.     newTime = time
  52.     while newTime > 1:
  53.         print("Day %d:" % (count))
  54.         newTime = adWatch(newTime, time) - 1
  55.         count += 1
  56.         print()
  57.    
  58.     print("Day %d:" % (count))
  59.     print(newTime)
  60.  
  61. main()
Add Comment
Please, Sign In to add comment