May-03-2020, 02:33 PM
This code is perfectly working without any error and with required result in Pycharm IDE, PYTHON 3.8
I'm student of medical/dentistry field and started my computer program learning since 3 weeks so i know only python, nothing else in programming.
I took your this thread problem as a just one of python exercise to learn more about python.
I think you made some copy/pasting error, sometimes pasting may distort indentation in code and gives error.
I hope you read code line by line from bottom to top after pasting.
Thank you for your feedback anyways.
I'm student of medical/dentistry field and started my computer program learning since 3 weeks so i know only python, nothing else in programming.
I took your this thread problem as a just one of python exercise to learn more about python.
I think you made some copy/pasting error, sometimes pasting may distort indentation in code and gives error.
I hope you read code line by line from bottom to top after pasting.
Thank you for your feedback anyways.
(Apr-30-2020, 09:09 AM)Shahmadhur13 Wrote: [ -> ]here is final solution.
I have added few more code line to my previous post to arrive at solution.
sequence = True all_entered_numbers = [0] win_list = [] loss_list = [] high_num = 0 low_num = 0 loss = [] while sequence: current_num = int(input("enter a number: ")) if current_num >= 0: all_entered_numbers.append(current_num) prev_num = all_entered_numbers[-2] if current_num > prev_num: win_list.append(current_num) loss_list.append(0) high_num = current_num loss.append(0) elif current_num < prev_num: loss_list.append(current_num) win_list.append(0) low_num = current_num loss.append(high_num - low_num) else: pass else: sequence = False print(f"all entry are : {all_entered_numbers}") print(f"winning list is : {win_list}") print(f"losing list is : {loss_list}") print(f"loss occurence is : {loss}") all_instances = [] # makes nested list of loss occurence for i in loss: if i == 0: all_instances.append([]) else: all_instances[-1].append(i) loss_instances = list(filter(None, all_instances)) # removing zero values print(f'loss instance = {loss_instances}') longest = [len(i) for i in loss_instances] # to find out longest sequel of loss most_loss = loss_instances[longest.index(max(longest))][-1] print(f"Most loss is : {most_loss}") print(most_loss)you can remove some print function lines to remove extra output. I kept to figure out what is happenning at those lines.
Output:enter a number: 3 enter a number: 6 enter a number: 36 enter a number: 32 enter a number: 32 enter a number: 121 enter a number: 66 enter a number: 24 enter a number: 22 enter a number: 371 enter a number: 661 enter a number: 6 enter a number: 4 enter a number: 8 enter a number: -1 all entry are : [0, 3, 6, 36, 32, 32, 121, 66, 24, 22, 371, 661, 6, 4, 8] winning list is : [3, 6, 36, 0, 121, 0, 0, 0, 371, 661, 0, 0, 8] losing list is : [0, 0, 0, 32, 0, 66, 24, 22, 0, 0, 6, 4, 0] loss occurence is : [0, 0, 0, 4, 0, 55, 97, 99, 0, 0, 655, 657, 0] loss instance = [[4], [55, 97, 99], [655, 657]] Most loss is : 99 99