Skip to content

Instantly share code, notes, and snippets.

@simecek
Created July 12, 2021 21:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save simecek/0121ccda83f60252445b32a8b0be5c0b to your computer and use it in GitHub Desktop.
Save simecek/0121ccda83f60252445b32a8b0be5c0b to your computer and use it in GitHub Desktop.
Progress bar for Berlin Marathon tweets
# Print iterations progress - adapted from https://stackoverflow.com/questions/3173320/text-progress-bar-in-the-console
def printProgressBar (days, total=100, prefix = '', suffix = 'dní', decimals = 1, length = 20, fill = '█', printEnd = "\r"):
"""
Call in a loop to create terminal progress bar
@params:
days - Required : iterations remaining (Int)
total - Optional : total iterations (Int)
prefix - Optional : prefix string (Str)
suffix - Optional : suffix string (Str)
decimals - Optional : positive number of decimals in percent complete (Int)
length - Optional : character length of bar (Int)
fill - Optional : bar fill character (Str)
printEnd - Optional : end character (e.g. "\r", "\r\n") (Str)
"""
iteration = total - days
percent = ("{0:." + str(decimals) + "f}").format(100 * (iteration / float(total)))
filledLength = int(length * iteration // total)
bar = fill * filledLength + '░' * (length - filledLength)
print('Do Berlínského maratonu zbývá:')
print(f'\r{prefix}|{bar}| {days} {suffix}', end = printEnd)
print()
printProgressBar(76)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment