python - 当列表中出现相同的值时如何停止循环?
问题描述
以上是我的任务。当相同的项目出现在列表中时,我必须停止循环,然后我必须对它们求和。
def squareA(a,b):
res = []
z = 0
while z!= 3:
res.insert(0,(a + z)**2)
res.insert(0,(b - z)**2)
z += 1
print(res)
res = list(dict.fromkeys(res))
print(res)
res = sum(res)
return res
a = 5
b = 6
print(squareA(a,b))
解决方案
我想你可能想多了。而不是从两端附加正方形 - 同时从 a 向上和从 b 向下工作,您可以执行以下操作:
def square(a, b):
rv = a**2
for i in range(a, b):
rv+= (i+1)**2
return rv
或使用示例代码中的列表:
def square(a, b):
rv = [a**2]
for i in range(a, b):
rv.append((i+1)**2)
return sum(rv)
推荐阅读
- mysql - 在现有 PV 上重新部署后,Kubernetes 上的 MySQL 未启动 - '拒绝访问用户'root'@'localhost'
- android - 如何通过 Google Photos 应用程序直接打开特定路径并且 setDataAndType 不起作用
- javascript - 在单选按钮(标签)的选择中添加效果
- reactjs - 样式在样式表中不起作用
- java - 如何将服务注入监听器?
- node.js - 你知道在 PWA 离子项目中使用 OpenALPR 的方法吗?
- angular - 输入 NgDatePicker 格式化所选日期 Angular
- laravel - laravel如何防止空数据插入数据库?
- python - 正则表达式按用户搜索匹配用户,而不是在整个数据中搜索
- magento - 无效的表单密钥 PayPal 托管付款