學習目標
- 了解對相似邏輯的簡化編寫——循環
推薦
1.《備受好評的看得懂的C語言入門教程》
目錄
第一篇:《假如編程是魔法之零基礎看得懂的Python入門教程 》——(一)既然你選擇了這系列教程那么我就要讓你聽得懂
第二篇:《假如編程是魔法之零基礎看得懂的Python入門教程 》——(二)魔法實習生第一步了解魔杖的使用
第三篇:《假如編程是魔法之零基礎看得懂的Python入門教程 》——(三)使用初始魔法跟編程魔法世界打個招呼吧
第四篇:《假如編程是魔法之零基礎看得懂的Python入門教程 》——(四)了解魔法百寶箱列表、字典及基本數據類型
第五篇:《假如編程是魔法之零基礎看得懂的Python入門教程 》——(五)我的魔法竟然有了一絲邏輯
第六篇:《假如編程是魔法之零基礎看得懂的Python入門教程 》——(六)精簡魔法更強大
第七篇:《假如編程是魔法之零基礎看得懂的Python入門教程 》——(七)我把魔法變成了積木
本系列教程將會以一種“魔法世界”的形式編寫,歡迎各位支持。
歡迎大家關注公眾號,公眾號每滿1024及1024倍數則會抽獎贈送機械鍵盤一份+IT書籍2份喲~并且公眾號會更快更新喲。
一、了解對相似邏輯魔法的簡化編寫
1.1 了解代碼中的相同邏輯
在日常的代碼編寫中,經常會遇見一些相似的流程,一部分的相似流程是可以簡化的,例如我們需要編寫一程序,我們輸入一個值,這個值需要加81次9,每次都需要顯示輸入的值加9后的值,這時該如何進行程序的編寫呢?通過本系列課程已學過的知識過于麻煩,不信?那我就寫一下輸入一個值,該值重復加81次9,每次都顯示的代碼示例。為了方便觀察,我只寫出前6次:
a=int(input('請輸入一個值,將對這個值進行6次加9,且每次都輸出顯示:'))
print('你輸入的值是:',a)
a=a+9
print('第1次加9后:',a)
a=a+9
print('第2次加9后:',a)
a=a+9
print('第3次加9后:',a)
a=a+9
print('第4次加9后:',a)
a=a+9
print('第5次加9后:',a)
a=a+9
print('第6次加9后:',a)
以上代碼使用了input函數接收用戶輸入的一個值,并且使用“請輸入一個值,將對這個值進行6次加9,且每次都輸出顯示:”
作為提示,由于我們在之前的章節中講到,使用input接收的值將是字符串類型,由于加法只能夠使用數字進行相加,那我應該使用int對接收的值進行類型轉換,一般代碼應該為:
a=int(a)
但我在此處的代碼編寫為:
a=int(input('請輸入一個值,將對這個值進行6次加9,且每次都輸出顯示:'))
這樣寫是否可以呢?當然可以。int表示講一個值轉換為一個整數類型,在此input將會返回一個值,該值是我們輸入的結果,那么input('請輸入一個值,將對這個值進行6次加9,且每次都輸出顯示:')
則表示一個值,使用int將這個值轉換為整數當然是可以的。最后將轉換后的值賦值給a。
隨后將變量a自身加9后賦值給本身:
a=a+9
此處也可以這樣寫:
a+=9
a+=9
與a=a+9
相等,a+=9
表示變量a對等于號右邊的值進行相加,最后返回給自身;如果是a-=9
則表示a變量自身減去9后賦值給變量a。所以以上代碼可以寫成:
a=int(input('請輸入一個值,將對這個值進行6次加9,且每次都輸出顯示:'))
print('你輸入的值是:',a)
a+=9
print('第1次加9后:',a)
a+=9
print('第2次加9后:',a)
a+=9
print('第3次加9后:',a)
a+=9
print('第4次加9后:',a)
a+=9
print('第5次加9后:',a)
a+=9
print('第6次加9后:',a)
變量進行相加后,隨后使用print進行輸出,結果為:
以上代碼是可以簡化的,我們查看代碼中的規律,可以發現每次都是在變量a進行加9后輸出,我們拋開變量值的不同,每次這個邏輯都是重復的,一共重復了6次。弱我們去掉print內的次數,如:print('第1次加9后:',a)
改成print('加9后:',a)
后,將得到完全重復的:
a+=9
print('加9后:',a)
那如何讓該代碼重復6次呢?
2.1 重復魔法while循環
while是python編程中的循環魔法法之一,可以自己設置代碼重復執行多少次。while循環使用非常簡單,我們可以定義一個循環控制變量簡稱循環變量,循環變量可以控制循環多少次,一般該變量的類型為整數型,如i=0
;隨后開始使用while循環設置條件,例如我們需要設置循環重復次數為10,則可以寫成while i<10:,表示變量i小于10的時候就可以一直重復一些代碼,當i大于10就不循環了。例如我們需要重復輸出10次你好,則可以寫成如下代碼:
i=0
while i<10:print('你好嗎')
首先我們定義了一個變量i并且值為0,隨后使用while魔法咒語,給while魔法咒語一個條件i<10,隨后一個冒號結束;冒號下一行開始編寫我們需要循環的代碼,在這里一定要使用縮進表示代碼的結構;在此處我編寫了代碼 print('你好嗎')
,表示輸出10次“你好嗎”。那么這就完了嗎?并沒有,現在的程序是錯的。你可能問我為什么錯?那我回答你,i變量每次循環都沒進行變動,永遠i的值都是0,永遠小于10,會一直循環無限次。在while循環中,每執行一次循環就會判斷一次條件是否成立,假如不成立則會不執行循環;在這里需要添加變量i的增加,每循環1次則加1,一共加10次 就會條件不成立,循環不再執行。代碼如下:
i=0
while i<10:print('你好嗎')i+=1
運行程序,結果如下:
那我們想一下,在1.1中的程序效果如何實現?其實只要把相同的邏輯放到循環中就可以了,并且設置次數為6,代碼編寫如下:
i=0
while i<6:print('加9后:',a)a+=9i+=1
如上代碼,首先定義一個變量i為0,隨后使用while循環判斷i每次循環是否小于6,小于6則執行,不小于則不執行循環;每次循環都輸出a的值,輸出完畢后a開始自增9(在自己的基礎上加一個數值表達為自增),自增完后i每次都自增加1,用于循環控制。我們的a是通過用戶輸入傳入的,那么在循環前加上1.1中的代碼:
a=int(input('請輸入一個值,將對這個值進行6次加9,且每次都輸出顯示:'))
print('你輸入的值是:',a)i=0
while i<6:print('加9后:',a)a+=9i+=1
這樣就完成了循環的使用,這樣代碼也少了,看著也舒服;運行結果如下:
如果我們需要加81次,我只需要更改while的判斷條件i<6編程i小于81即可:
a=int(input('請輸入一個值,將對這個值進行6次加9,且每次都輸出顯示:'))
print('你輸入的值是:',a)i=0
while i<81:print('加9后:',a)a+=9i+=1
運行結果如下:
81次也輕輕松松解決了問題,可是我們發現,沒有多少次的提示,數據一點都不清晰,那怎么辦呢?小問題,我們知道在while循環中,每次i都是加1的,第1次i是0,第2次i是1,每次都會加1,所以我們每次都把i輸出就可以知道現在是第幾次循環了:
a=int(input('請輸入一個值,將對這個值進行6次加9,且每次都輸出顯示:'))
print('你輸入的值是:',a)i=0
while i<81:print(i,'次加9后:',a)a+=9i+=1
以上代碼中輸出了i的值,運行結果如下:
那我們想要自己控制循環次數怎么辦?怎運行的時候我們手動輸入一個值,這個值傳入一個變量中,該變量作為條件,代替以上的81次即可:
a=int(input('請輸入一個值,將對這個值進行6次加9,且每次都輸出顯示:'))
print('你輸入的值是:',a)
b=int(input('請輸入一個值,控制循環次數'))
print('你輸入的值是:',b)i=0
while i<b:print(i,'次加9后:',a)a+=9i+=1
運行結果如下:
二、總結
本節內容介紹了C語言while循環的使用,并且介紹了如何通過變量控制循環,主要內容并不是一些使用技巧,而是循環的使用,理解循環很重要,這篇為之后的循環作一個鋪墊,希望各位魔導師們再接再厲喲~