首页 > 解决方案 > Python 3.7 不支持赋值表达式

问题描述

我有以下代码:

n = int(input())
a, b, c = map(int, input().split())
result = sum(s // c + 1 for i in range(n) for j in range(n - a * i) if (s := n - a * i - b * j - 1) >= 0)
print(result)

但是我有一个错误,Python 3.7 在这部分不支持赋值表达式(s := n - a * i - b * j - 1)。我该如何重写它?我想将其重写为python3.7

标签: python

解决方案


首先将生成器表达式转换为纯代码,然后这是一项简单的任务:

result = 0
for i in range(n):
    for j in range(n - a * i):
        s = n - a * i - b * j - 1
        if s >= 0:
            result += s // c + 1

推荐阅读