if-statement - Python如何缩短我的代码(而不是让它更高效)
问题描述
好的,任务是找到可以被1-20的所有数字整除的最小倍数。
我的代码效率低下,而且,据我所知,它已经完全过时了,因为你可以通过将素数相乘来解决这个问题。
但是我如何使 if 部分更短?
a=20
b=0
while b<1:
if (a%20==0 and
a%19==0 and
a%18==0 and
a%17==0 and
a%16==0 and
a%15==0 and
a%14==0 and
a%13==0 and
a%12==0 and
a%11==0 and
a%10==0 and
a%9==0 and
a%8==0 and
a%7==0 and
a%6==0 and
a%5==0 and
a%4==0 and
a%3==0 and
a%2==0):
b=1
else:
a=a+1
print(a)
解决方案
if all(a%x==0 for x in range(2,21)):
推荐阅读
- python - 如何读取每行具有不同列的文件?
- java - 如何从 Spring Data JPA NativeQuery 接收一个集合?[导致 NotReadablePropertyException]
- sql - 选择日期最高的行
- phabricator - arc diff --update 总是创建新评论
- java - defineClass 方法抛出 java.lang.ClassFormatError: Incompatible magic value 1885430635 in class file
- reactjs - socket.io 连接不适用于 react.js
- node.js - 我的 node.js 代码在 aws-lambda 中工作不稳定,有时工作正常,有时会跳过那段代码的数据持久性
- caching - 兵马俑服务器阵列如何存储数据?
- charts - 如何修复 Vue.js(laravel) 中的“Elastigantt is not defined”错误
- image - 使用 Flutter 将 n 个图像上传到 Firebase