MyPython-->基礎篇-->輸入與while循環

咱們須要用戶傳入值,並使用這個值。咱們就可使用input()這個函數,能夠打印input()括號內的內容,並等待用戶輸入,並在用戶輸入回車後繼續運行。python

當咱們使用input()函數時,咱們都應指定清晰而易明白的提示,準確指出但願用戶的輸入app

name = input('please enter  you name \n')
print('welcome %s'%name)
age = input('please enter your age:')
print('%s 年齡 %s'%(name,age))

 當input()內的字符串過長超過一行時爲了方便代碼閱讀,咱們能夠將字符串定義到變量內。dom

welcome = '''
1.for the lichking
2.for the freedom
'''
input(welcome)

while 循環簡介函數

for循環用於針對集合中的每一個元素都一個代碼塊,而while循環不斷的運行,直到指定的條件不知足爲止。測試

可使用while循環來數數網站

1 count_num = 1
2 while count_num<6:
3     print(count_num)
4     count_num+=1

只要知足while後面的表達式,都執行循環內的代碼,不知足結束spa

讓用戶選擇合適退出code

message = input('enter q exit')
while message !='q':
    message = input('enter q exit')

先讓用戶輸入,並提示輸入q結束。當輸入q的時候不走循環,輸入其餘的時候進入循環,直到輸入qblog

1 welcome = 'welcome to notjoke,enter q exit:\n'
2 get_str = ''
3 while get_str !='q':
4     get_str = input(welcome)
5     if get_str != 'q':
6         print(get_str)

對代碼進行改進,將用戶輸入的所有輸出出來,直到用戶輸入q,q不會打印遊戲

使用標誌

在咱們日常使用過程當中,有不少狀況致使程序中止運行,怎麼辦呢

好比:遊戲中,生命值沒了,守護的基地沒了都會讓遊戲結束,若是在一個while語句中檢查全部這些條件,將既複雜有困難

所以咱們能夠定義一個變量,用於判斷整個程序是否處於活動狀態。這個變量稱之爲標誌,充當了程序的交通訊號燈。

咱們能夠對以前的代碼進行修改

1 welcome = 'welcome to notjoke,enter q exit:\n'
2 active = 1
3 get_str = ''
4 while active:
5     get_str = input(welcome)
6     if get_str != 'q':
7         print(get_str)
8     else:
9         active = 0

固然這裏也能夠用True和False,這裏須要判斷active的值,默認爲true,直到輸入q後,將active的值變爲0,條件判斷不經過跳出循環

我麼將active設置成了true,讓程序最初處於得到狀態,這樣簡化了while,由於不須要再作任何比較,相關的邏輯由程序其餘部分來執行

 

break

要當即退出while循環,再也不容許代碼中餘下的代碼,也無論測試結果如何可以使用break語句。break用於控制程序流程,可以使用他來控制哪些代碼將執行,哪些不執行,從而讓程序按你的要求執行代碼。

仍是上個例子咱們可讓用戶輸入q時,break

while 1:
    message = input('enter q exit')
    if message =='q':
        break
    else:
        print(message)

死循環直到用戶輸入q時,break會打斷跳出循環,任何循環中均可以使用break,好比可用break來退出遍歷列表或字典

 

continue

要返回循環開頭,並根據條件測試結果決定是否繼續執行循環,可以使用continue語句 好比

for x in range(1,11):
    if x%2 == 0:
        continue
    print(x)
x = 0
while x<11:
    x+=1
    if x%2 == 0:
        continue
    print(x)

若是能整除2,跳回循環那,不能的話打印出來

 

避免無限循環

for循環是一種遍歷列表的有效方式,但在for循環中不該該修改列表不然將致使python難以追蹤其中的元素。要在遍歷列表的同時進行修改,可以使用while循環。經過將while循環同列表和字典結合起來使用,可收集和存儲並組織大量輸入,供之後查看和顯示

假設一個列表,其中包含新註冊但還未驗證的網站用戶。驗證這些用戶後,如何將他們移動到另外一個已驗證用戶列表中呢 ?

1 wyz_list = ['cc','yy','sc']
2 yz_list = []
3 while wyz_list:
4     yz_name = wyz_list.pop()
5     print('%s 驗證成功'%yz_name)
6     yz_list.append(yz_name)
7 for x in yz_list:
8     print(x)

經過while循環刪除列表內指定值的所有元素

咱們能夠經過remove()方法刪除指定元素,可是remove()一次只能刪除一個元素,刪除全部的能夠用while對列表判斷直到列表內沒有 指定值

lc  = [1,1,2,3,1]
while 1 in lc:
    lc.remove(1)
print(lc)

先判斷列表中是否包含指定值,若是包含執行循環內語句,刪除後再檢查是否在列表內,在繼續循環直到列表內沒有指定值的元素

 

使用用戶輸入來填充字典

1 active = 1
2 responses ={}
3 while active:
4     name = input('enter your name')
5     job = input('enter your job')
6     responses[name] = job
7     choose = input('enter anything input,enter no exit')
8     if  choose == 'no':
9         active = 0

active標誌

練習

建立一個名爲sandwich_orders的列表,在其中包含三明治的名字,再建立一個finished_sandwiches。遍歷第一個個列表,並打印  i made your tuna sandwich ,並將它轉移到第二個列表。都作完後將第二個列表打印

1 sandwich_orders = ['ss','nn','aa','kk','ee']
2 finished_sandwiches =[]
3 while sandwich_orders:
4     sandwich = sandwich_orders.pop(0)
5     finished_sandwiches.append(sandwich)
6     print('%s make over '%sandwich)
7 print(finished_sandwiches)

while 內判斷列表是否空,每次都刪除列表第一個值,刪完結束打印第二個列表

相關文章
相關標籤/搜索