python - 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
解决方案
首先将生成器表达式转换为纯代码,然后这是一项简单的任务:
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
推荐阅读
- python - 如何使用 numpy einsum 函数对 3D 数组执行矩阵乘法以获得 2D 乘积矩阵?
- sql - Sequelize 计数和组嵌套包含
- scala - 无法在我自己的代码/函数中使用加特林表达式语言
- python - Beeware'公文包创建'要求开罗> = 1.15.10
- react-native - 如何将滚轮选择器菜单更改为 React Native with Expo 中的下拉菜单?
- ios - CFDictionaryGetValue 崩溃的原因?
- javascript - 如何在 Firebase 身份验证电子邮件中发送 window.location.pathname?
- reactjs - 将 React 类组件转换为反应钩子
- javascript - 如何从 chrome 扩展中获取当前选项卡的“document.cookie”?
- android - ListView 在输出屏幕上不可见