Где я запутался с форматированием вывода?
Поэтому я получил сообщение об ошибке, когда попытался запустить свой код, и я не могу понять, в чем именно заключается проблема. Он говорит, что это ошибка ValueError, но я не могу понять, какая именно. Может быть, уже поздно, но я в растерянности.
Вот мой код:
def sort(count_dict, avg_scores_dict, std_dev_dict):
'''sorts and prints the output'''
menu = menu_validate("You must choose one of the valid choices of 1, 2, 3, 4 \n Sort Options\n 1. Sort by Avg Ascending\n 2. Sort by Avg Descending\n 3. Sort by Std Deviation Ascending\n 4. Sort by Std Deviation Descending", 1, 4)
print ("{}{0:27}{0:39}{0:51}\n{}".format("Word", "Occurence", "Avg. Score", "Std. Dev.", "="*51))
if menu == 1:
dic = OrderedDict(sorted(word_average_dict.items(), key=lambda x:x[1], reverse=False))
for key in dic:
print ("{}{0:27}{0:39:.4f}{0:51:.4f}".format(key, count_dict[key], avg_scores_dict[key], std_dev_dict[key]))
elif menu == 2:
dic = OrderedDict(sorted(word_average_dict.items(), key=lambda x:x[1], reverse=True))
for key in dic:
print ("{}{0:27}{0:39:.4f}{0:51:.4f}".format(key, count_dict[key], avg_scores_dict[key], std_dev_dict[key]))
elif menu == 3:
dic = OrderedDict(sorted(std_dev_dict.items(), key=lambda x:x[1], reverse=False))
for key in dic:
print ("{}{0:27}{0:39:.4f}{0:51:.4f}".format(key, count_dict[key], avg_scores_dict[key], std_dev_dict[key]))
elif menu == 4:
dic = OrderedDict(sorted(std_dev_dict.items(), key=lambda x:x[1], reverse=True))
for key in dic:
print ("{}{0:27}{0:39:.4f}{0:51:.4f}".format(key, count_dict[key], avg_scores_dict[key], std_dev_dict[key]))
return None
Вот мой вывод и ошибка при запуске:
You must choose one of the valid choices of 1, 2, 3, 4
Sort Options
1. Sort by Avg Ascending
2. Sort by Avg Descending
3. Sort by Std Deviation Ascending
4. Sort by Std Deviation Descending1
Traceback (most recent call last):
File "C:\Users\Ryan\Documents\Program 7\Program 7.py", line 161, in <module>
output = sort(cnt_dict, word_avg_dict, std_dev_dict)
File "C:\Users\Ryan\Documents\Program 7\Program 7.py", line 99, in sort
print ("{}{0:27}{0:39}{0:51}\n{}".format("Word", "Occurence", "Avg. Score", "Std. Dev.", "="*51))
ValueError: cannot switch from automatic field numbering to manual field specification
Что я испортил? Любая помощь приветствуется!