編程語言共有幾種,python入門經典代碼-【python】編程語言入門經典100例--12

 2023-11-18 阅读 28 评论 0

摘要:1 #題目:判斷101-200之間有多少個素數,并輸出所有素數。 代碼:3 tmp = [n for n in range(101,201)] 4 for i in reversed(tmp): 5 for j in range(2,i): 6 if (i%j == 0): 編程語言共有幾種、7 tmp.remove(i) 8 break 9 print('101到20

1 #題目:判斷101-200之間有多少個素數,并輸出所有素數。

代碼:3 tmp = [n for n in range(101,201)]

4 for i in reversed(tmp):

5 for j in range(2,i):

6 if (i%j == 0):

編程語言共有幾種、7 tmp.remove(i)

8 break

9 print('101到200之間有%d個素數'%len(tmp))

10 print('這些素數分別是:')

11 print (tmp)

運行結果:[root@HK code_100]# python code_12.py

taichi編程語言,101到200之間有21個素數

這些素數分別是:

[101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199]

[root@HK code_100]#

代碼解釋:這個代碼用了一種比較繁瑣的方式,不過用來練習list的操作還是不錯的,因為牽扯到要統計素數的個數,

我覺得用len(list)比較合適, 思路是遍歷整個list,發現不是素數的就從list中刪除,最后剩下的

編程語言代碼、就是101到200之間的素數。

3 tmp = [n for n in range(101,201)] #建立101到200的升序list

4 for i in reversed(tmp): #倒敘遍歷tmp列表

5 for j in range(2,i): #針對tmp中的每個成員,用2到(i-1)進行取余

6 if (i%j == 0): #如果取余等于零,說明不是素數

7 tmp.remove(i) #將不是素數的數字從list中刪除

計算機語言python,8 break #直接跳出循環,不進行后面的驗證,以節省資源

9 print('101到200之間有%d個素數'%len(tmp)) #格式化輸出素數的個數

10 print('這些素數分別是:')

11 print (tmp) #打印素數

在第四行中用了倒敘遍歷list,因為tmp.remove的特點,如果用正序是得不出期望結果的,因為remove刪掉一個元素的時候,

這個元素后面的所有元素的下標都會減1(如果所有元素下標都不變就不會有問題),但是for循環的迭代是下標依次加1,這樣就會導致

python簡單代碼,在遍歷list的時候有一些元素是遍歷不到的,用逐步調試可以看到效果具體可以查一下remove的詳細解釋,這里使用倒敘是從后面開始減,

之前的下標不會用變化,這樣就不會影響到最終的結果。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/177177.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息