I have written a code to display the seven segment output. Whereas I need to display the output side by side. Say input: 123 , output should display seven segment side by side as below
# ### ### # # # # ### ### # # # # ### ###
Here is my logic:
dict = {0:('###','# #','# #','# #','###'), 1:(' #',' #',' #',' #',' #'), 2:('###',' #','###','# ','###'), 3:('###',' #','###',' #','###'), 4:('# ','# ','###',' #',' #'), 5:('###','# ','###',' #','###'), 6:('###','# ','###','# ','###'), 7:('###',' #',' #',' #',' #'), 8:('###','# #','###','# #','###')} value = input("enter value:") for i in value: list1 = dict.get(int(i)) print('n'.join(list1))
Advertisement
Answer
Try the following:
dict = {0:('###','# #','# #','# #','###'), 1:(' #',' #',' #',' #',' #'), 2:('###',' #','###','# ','###'), 3:('###',' #','###',' #','###'), 4:('# ','# ','###',' #',' #'), 5:('###','# ','###',' #','###'), 6:('###','# ','###','# ','###'), 7:('###',' #',' #',' #',' #'), 8:('###','# #','###','# #','###')} value = input("enter value:") for seg in range(5): print(' '.join([dict.get(int(i))[seg] for i in value]))
You need to print the segments side by side, so you should start by printing the top column of all the numbers, the second, and so on. I’m using a list comprehension to join the numbers together for each column.