少兒編程Python第4課-for循環語句(質數判斷)

2020-12-05 空手之道

我們要實現一個每隔1秒中在屏幕上列印一次「hello, world」;並持續列印一個小時的程序,我們肯定不能夠直接把`print('hello, world')`這句代碼寫3600遍,如果真的要這樣做,那麼編程的工作就太無聊乏味了。因此,我們還需要了解一下循環結構,有了循環結構我們就可以輕鬆的控制某件事或者某些事重複、重複、再重複的去執行。

Python 中的循環語句有 2 種,上一課我們已經對 while 做了詳細的講解,本節給大家介紹 for 循環,它常用於遍歷字符串、列表、元組、字典、集合等序列類型,逐個獲取序列中的各個元素。

for 循環的語法格式如下:

for 迭代變量 in 字符串|列表|元組|字典|集合:代碼塊

格式中,迭代變量用於存放從序列類型變量中讀取出來的元素,所以一般不會在循環中對迭代變量手動賦值;代碼塊指的是具有相同縮進格式的多行代碼(和 while 一樣),由於和循環結構聯用,因此代碼塊又稱為循環體。for 循環語句的執行流程如圖 1 所示。

for循環的語法格式很容易理解,主要有三種類型,分為數值循環、遍歷列表和元組、遍歷字典。我們通過幾個實例來熟悉它的用法。

實例1:計算1~100求和的結果

如果明確的知道循環執行的次數或者要對一個容器進行迭代(後面會講到),那麼我們推薦使用`for-in`循環,例如下面代碼中計算1~100求和的結果。

用for循環實現1~100求和sum = 0for x in range(101):sum += xprint(sum)

需要說明的是上面代碼中的`range(101)`可以用來構造一個從0到100的取值範圍,這樣就可以構造出一個整數的序列並用於循環中,例如:

- `range(101)`可以產生一個0到100的整數序列。

- `range(1, 100)`可以產生一個1到99的整數序列。

- `range(1, 100, 2)`可以產生一個1到99的奇數序列,其中2是步長,即數值序列的增量。

知道了這一點,我們舉一反三,來實現1~100之間的偶數求和。

ps:在 Python 2.x 中,除提供 range() 函數外,還提供了一個 xrange() 函數,它可以解決 range() 函數不經意間耗掉所有可用內存的問題。但在 Python 3.x 中,已經將 xrange() 更名為 range() 函數,並刪除了老的 xrange() 函數。

本課程用的都是Python 3.x 。

實例2:實現1~100之間的偶數求和

sum = 0for x in range(2, 101, 2):sum += xprint(sum)

循環結構是可以嵌套的,也就是說在循環中還可以構造循環結構。下面的例子演示了如何通過嵌套的循環來輸出一個九九乘法表。

實例3:九九乘法表

for i in range(1, 10):for j in range(1, i + 1):print('%d*%d=%d' % (i, j, i * j), end='\t')print()

使用 for 循環遍歷字典其實也是通過遍歷普通列表來實現的。字典包含了如下三個方法:

items():返回字典中所有 key-value 對的列表。keys():返回字典中所有 key 的列表。values():返回字典中所有 value 的列表。因此,如果要遍歷字典,完全可以先調用字典的上面三個方法之一來獲取字典的所有 key-value 對、所有 key、所有 value,再進行遍歷。如下程序示範了使用 for 循環來遍歷字典:

實例4:輸出小明的考試成績:my_dict ={'語文':89,'數學':92,'英語':80}

my_dict ={'語文':89,'數學':92,'英語':80}# 通過items()方法遍歷所有key-value對# 由於items方法返回的列表元素是key-value對,因此要聲明兩個變量for key, value in my_dict.items():print('key:', key)print('value:', value)print('-------------')# 通過keys()方法遍歷所有keyfor key in my_dict.keys():print('key:', key)# 在通過key獲取valueprint('value:', my_dict[key])print('-------------')# 通過values()方法遍歷所有valuefor value in my_dict.values():print('value:', value)

數學界,質數又稱素數。一個大於1的自然數,除了1和它自身外,不能被其他自然數整除的數叫做質數;否則稱為合數。

質數在實際生活中的應用很廣泛:

質數被利用在密碼學上,所謂的公鑰就是將想要傳遞的信息在編碼時加入質數,編碼之後傳送給收信人,任何人收到此信息後,若沒有此收信人所擁有的密鑰,則解密的過程中(實為尋找素數的過程),將會因為找質數的過程(分解質因數)過久,使即使取得信息也會無意義。在汽車變速箱齒輪的設計上,相鄰的兩個大小齒輪齒數設計成質數,以增加兩齒輪內兩個相同的齒相遇嚙合次數的最小公倍數,可增強耐用度減少故障。在害蟲的生物生長周期與殺蟲劑使用之間的關係上,殺蟲劑的質數次數的使用也得到了證明。實驗表明,質數次數地使用殺蟲劑是最合理的:都是使用在害蟲繁殖的高潮期,而且害蟲很難產生抗藥性。以質數形式無規律變化的飛彈和魚雷可以使敵人不易攔截。多數生物的生命周期也是質數(單位為年),這樣可以最大程度地減少碰見天敵的機會。那如何利用for循環判斷一個數字是不是質數呢?

實例5:隨機輸入一個正整數判斷是不是質數。

from math import sqrtnum = int(input('請輸入一個正整數: '))end = int(sqrt(num))is_prime = Truefor x in range(2, end + 1):if num % x == 0:is_prime = Falsebreakif is_prime and num != 1:print('%d是質數' % num)else:print('%d不是質數' % num)

相關焦點

  • 零基礎學編程python第十課,for……in循環語句與while循環語句
    這節課,帶大家來學習一下【循環】,什麼是循環? 就是把一件事情一遍又一遍重複做多遍。每個人的工作和生活中都充滿了循環,比如你要在操場上跑步5圈鍛鍊身體,比如銷售要一遍又一遍給別人介紹產品,比如高三考生高考前每天三點一線的生活。循環,就意味著重複與無趣。尤其是工作中的重複,無聊重複的工作讓我們感覺到疲憊。
  • python循環語句用數據做判斷:布爾值和布爾運算
    python循環語句用數據做判斷:布爾值和布爾運算更深入的學習循環語句的用法:用數據做判斷:布爾值 和 布爾運算之前我們提到,計算機利用數據有三種方式:1.直接使用數據,2.計算和加工數據,3.用數據做判斷。
  • Python語言基本語法元素之語句,表達式、賦值語句
    語句,簡單粗糙的理解就是一個句子。在中文,語句就是以句號為分界的句子。在程式語言中,語句,就是擁有完整意義的代碼結構。例如:rate = 1.6375 # 1林吉特=1.6375人民幣賦值語句上面是一行代碼,就是一個語句。同時它是賦值語句,這個語句把 數值1.6375 賦值給變量rate。賦值,把數據的值,賦予變量。
  • Python入門第7課,循環結構學習,for語句range函數的3種用法
    體驗課,Python與人工智慧初體驗。第1課,輸出語句及賦值語句。第2課,輸入語句學習。第3課、第4課,學習條件控制if語句。第5課、第6課,階段練習及講解。本節課開始,大陳將帶領學生們一起學習循環語句,計劃用4節課的時間學習for、while語句的使用,同時複習和強化訓練前面學習的變量、賦值、輸入輸出、條件控制等內容。第7課主要熟悉for 的基本語法格式,特別是range() 函數的3種使用情形。
  • Python while循環語句的使用
    ● 掌握循環語句的使用規則● 循環語句流程圖的畫法前面討論了在Python編程中進行條件判斷的if—else等語句,然而有些問題僅僅通過判斷語句還不能解決。有時為解決一個問題常常需要重複執行一個或多個操作,在這種情況下,就需要用循環語句來解決重複執行一個或多個操作的問題。
  • Python中判斷數字是否為質數的實例講解
    在本篇文章裡小編給大家分享了關於python中判斷數字是否為質數的實例講解內容,有興趣的朋友們可以學習下。
  • 用Python判斷質數的嘗試
    周末開始Python的循環語句學習,於是就想到了一個經典的問題,尋找質數。這是第一次寶少用程序來解決實際的應用問題,看看會有什麼結果。
  • Python的range函數與for循環語句
    ● 使用for循環語句迭代序列對象● 掌握range函數的使用方法Python提供的另外一個循環結構就是for循環語句,Python提供的for循環語句和Java、C++等程式語言提供的for語句不同,Python中的for循環更像是shell或是腳本語言中的foreach循環。
  • Python編程案例:判斷自然數n是質數還是合數
    編程需求阿萌要開發一個程序,該程序可以判斷一個自然數n是質數還是合數。例如學生輸入自然數17,程序判斷17為質數,程序輸出「15:質數」。認識質數和合數要確定一個自然數是質數還是合數,需要先找出該自然數有多少個因數。因為該自然數是質數還是合數,與這個自然數有多少個因數有關。按這些數因數個數的多少,可以分為三種情況:只有1和它本身兩個因數的為質數,質數也稱為素數。
  • python循環控制語句
    循環語句語句後面一定要跟:冒號for循環:1.for…in range()遍歷格式:for i in range(5);或者for i in range( 0,10,3 );格式中的1列印i是從0開始後列印到5結束
  • 如何用java判斷一個數是不是質數?
    昨天分享了怎麼判斷一個數是不是迴文數,目的是為了鞏固一下if選擇語句和求餘數運算符,今天分享一下怎麼判斷一個數是不是質數,可以鞏固for循環、if選擇語句、還有沒怎麼使用過的基本數據類型Boolean。思路:首先要知道的質數的概念是什麼。
  • 如何判斷一個正整數是否為質數的三種方法 | 附Python程序
    這一成就被美國的《時代》雜誌評為「2008年度50項最佳發明」之一,排名在第29位。如何判斷一個正整數是否為質數?以下介紹三種判別質數的方法,並附上相應的Python程序,供有興趣的同學參考。1)直觀判斷法最直觀的方法,根據定義,因為質數除了1和本身之外沒有其他因數,所以判斷n是否為質數,根據定義直接判斷從2到n-1是否存在n的因數即可。
  • 小學沒跟上編程的步伐,長大了這樣彌補,網友:一切都是為了生活
    因為學習少兒編程除了幫孩子適應未來時代發展潮流,還可以培養孩子的抽象思考能力,幫助孩子訓練整合信息、融匯貫通的能力,提高國際性的溝通能力和競爭力,更可以增強團隊合作,共同學習以及主動解決問題的能力。 小時候沒有學習編程,大學專業也跟編程不相關,都沒有關係,想學啥時候行動都不晚;國家出臺相關政策,在計算機二級考試中加入python等程式語言的考試。
  • python條件判斷語句
    python輸入語句 大家已經練習完了輸出之後呢,我們來繼續看一下輸入語句的用法 input後面加上提示輸入的語句,就可以獲取用戶輸入的語句 舉個小例子: 我們輸入123456後按回車,即可成功輸入
  • excel編程系列基礎:常用語句之循環語句的邏輯理解
    今天是第三篇VBA實戰入門教程,我們將給大家帶來VBA中最常見語句之一,循環語句。典型的循環語句有4種,分別是Do While…Loop循環、Do…Loop Until循環、For…Next循環、For Each x In y … Next循環。查看循環邏輯圖可以更快理解循環語句。學習更多技巧,請收藏關注部落窩教育excel圖文教程。
  • Python視頻教程網課編程零基礎入門數據分析網絡爬蟲全套Python...
    總目錄 零基礎全能篇(4套課程) 實用編程技巧進價(1套課程) 數據分析與挖掘(8套課程) 辦公自動化(3套課程) 機器學習與人工智慧(7套課程) 開發實戰篇(4套課程) 量化投資(2套課程) 網絡爬蟲(6套課程) 資料庫操作(1套課程) python
  • Python學習第119課——numpy中的broadcasting
    【每天幾分鐘,從零入門python編程的世界!】這節課我們學習numpy中的數據的一個多變的特性--broadcasting,broadcasting的官方的說明比較麻煩,我們這裡把它簡化一下,就把它當做「腦補」的意思。我們舉例來說明。
  • 編程教育迎來新風口,極客晨星滿足4-16歲青少年少兒編程學習需求
    為使我國青少年在未來的科技競爭中更具競爭力,2016年,展爽轉戰少兒編程,創立了極客晨星。在極客晨星創始人兼CEO展爽看來,培養青少年對學習編程的興趣,不僅是為國家儲備科技人才,更可以有效引導青少年熟練地用科技表達自我,利用編程建立自己的邏輯思維,由科技時代的消費者轉變為創造者。
  • 利用Python基礎代碼語句,實現2G時代文字小遊戲,世界如此簡單!
    我們給a賦值讓它等於『=』,然後在第一行前面輸出65個=,後面輸出65個=,中間寫上遊戲歡迎字樣,即可完成我們的第一幕。如果你不喜歡『=』,也可以將其替換成其他符號,65個『=』當然也不是固定的,要根據中間文字數量進行計算,儘量將歡迎標語居中顯示。
  • python入門第四課:列表的排序、元素遍歷
    本教程使用的課本是《Python編程:從入門到實踐》,作者:[美] Eric Matthes本節介紹列表的操作,包括列表的排序、元素遍歷等操作。fruits = ['蘋果','香蕉','橘子','葡萄',1990] #重置一下列表值print(fruits[160636008629203500],fruits[-2],fruits[-3],fruits[-4]