Итан, это хорошее объяснение кода и использования им типов данных.
Я думаю, код будет понятнее для ваших читателей, если имена переменных будут осмысленными.
Я предлагаю, чтобы имена переменных состояли из дескриптора и существительного.
Вы используете x и y для «начального» значения x в степени y.
Чтобы прояснить код для людей, приходящих к нему свежим, таких как читатели здесь и сопровождающие в реальном коде, я предлагаю вам переименовать:
- x -> seed_base
- y -> seed_exponent
Ниже я преобразовал переменные в вашем коде в этот шаблон. Я также разделил вычисление text_digits на два исходных задания, чтобы сделать его более понятным.
```seed_base = 80 seed_exponent = 80 seed_text_digits = list(str(pow(seed_base, seed_exponent))) max_sum = sum([int(digit) for digit in seed_text_digits]) range_bases = range(90, 100) range_exponents = range(90, 100) for this_base in range_bases: for this_exponent in range_exponents: power = pow(int(this_base), int(this_exponent) ) text_digits = list(str(power)) digits = [int(digit) for digit in text_digits] digits_sum = sum(digits) # checking #print "base: ", this_base, \ # "exp: ", this_exponent, \ # "sum of digits: ", digits_sum if digits_sum > max_sum: max_sum = digits_sum print max_sum
Я с нетерпением жду новых ваших сообщений.