python - 为什么第一行不显示 10 个数字?
问题描述
count=0
num=1
while True:
num+=1
if count!=100:
if count in [10,20,30,40,50,60,70,80,90]:
if isPrime(num) and ispalindrome(num) ==True:
count+=1
print("%-6d"%(num))
else:
if isPrime(num) and ispalindrome(num) ==True:
count+=1
print("%-6d"%(num),end="")
else:
break
输出是:
2 3 5 7 11 101 131 151 181 191 313
353 373 383 727 757 787 797 919 929 10301
10501 10601 11311 11411 12421 12721 12821 13331 13831 13931
14341 14741 15451 15551 16061 16361 16561 16661 17471 17971
18181 18481 19391 19891 19991 30103 30203 30403 30703 30803
31013 31513 32323 32423 33533 34543 34843 35053 35153 35353
35753 36263 36563 37273 37573 38083 38183 38783 39293 70207
70507 70607 71317 71917 72227 72727 73037 73237 73637 74047
74747 75557 76367 76667 77377 77477 77977 78487 78787 78887
79397 79697 79997 90709 91019 93139 93239 93739 94049
第一行显示 11 个数字。但在下一行它显示了 10 个数字,这正是我所需要的。
解决方案
count
表示要找到第 n 个数字,因此 count 从 1 开始:count = 1
count = 1
num = 1
while count != 100:
num += 1
if count in [10, 20, 30, 40, 50, 60, 70, 80, 90]:
if isPrime(num) and ispalindrome(num):
count += 1
print("%-6d" % (num))
else:
if isPrime(num) and ispalindrome(num):
count += 1
print("%-6d" % (num), end="")
推荐阅读
- linux - 将字符串打印到命令行中,就像它是一个新命令一样
- python - Anaconda 没有向我显示有冲突的包
- scala - 构建一个 ZIO 和 http4s 应用程序,与 sbt 一起工作,在 Bazel 中失败:缺少一个隐式
- prolog - 如何停止序言中的递归?
- windows - 重命名文件夹及其子文件夹中所有文件的文件名中的某些字符
- python - 如何在 Django 模板中打印查询集元素?
- python-3.x - 如何在 geopanda 中的两点之间应用一条线,例如在两个城市之间
- typescript - 打字稿如何推断文字类型或字符串
- typescript - 如何访问嵌套函数内的外部函数变量
- python-3.x - Python解密器。IndexError:字符串索引超出范围