7.1 函數input()的工作原理
讓程序暫停,等待客戶輸入文本,并存儲在變量中;
一般情況下,()中輸入提示文字,若提示超過一行:
prompt = 'blabla'
prompt += '\nblabla' #注意這里的語法和換行符
name = input(prompt)
7.1.1 數值輸入
age = input('how old are you?')
默認輸入的是字符串,
age = int(age) #將變量用數值表示
age = str(age) #將變量用字符串表示
7.1.2 求模運算符%
>>>10 % 3
1
>>>7 % 2
1
7.2 ?while循環
for循環針對集合的每個元素;
while循環不斷運行,直到條件不滿足
7.2.1 使用while循環
current_number = 1
while current_number <= 120:
? ? print(current_number)
? ? current_number += 1 #表示current_number = current_number + 1
7.2.2 讓用戶選擇何時退出
prompt = '\nTell me something and I will repeat for you.'
prompt += "\nEnter 'quit' to end this program."
message = '' #讓python首次執行while代碼時有可供檢查的東西
while message != 'quit':
? ? message = input(prompt)
? ? print(message)
7.2.3 使用標志
定義一個變量,用于判斷整個程序是否處于活動狀態,這個變量稱為標志
prompt = '\nTell me something and I will repeat for you.'
prompt += "\nEnter 'quit' to end this program."
active = True?
while active: #只要變量為True,循環就會執行
? ? message = input(prompt)
? ? if message == 'quit':
? ? ? ? active = False
? ? else:
? ? ? ? print(message)
7.2.4 使用break退出循環
break用于控制程序流程,可使用它來控制哪些代碼將執行
在任何python循環中都可使用break循環,例如遍歷列表或字典的for循環
prompt = '\nPlease enter the city name you have visted.'
prompt += "\n Enter 'quit' when you are finished."
while True:
? ? city = input(prompt)
? ? if city == 'quit':
? ? ? ? break
? ? else:
? ? ? ? print("I'd like to visit " + city.title() + '!')
7.2.5 循環中使用continue
current_number = 0
while current_number < 10:
? ? current_number += 1
? ? if current_number % 2 == 0:
? ? ? ? continue #忽略下面的代碼,返回到循環的開頭
? ? print(current_number)
7.2.6 避免無限循環
每個while循環都必須有停止運行的途徑
7.3 使用while循環來處理字典和列表
for循環中不應修改列表;while循環可以在遍歷同時對其進行修改
7.3.1 在列表之間移動元素
# -*- coding: utf-8 -*-
#分別創建一個待驗證列表和已驗證用戶的列表
unconfirmed_users = ['alice', 'einstein', 'damon', 'maria']
confirmed_users = []
#驗證每個用戶,直到未驗證客戶列表為空
#將每個驗證的列表都移動到已驗證用戶列表中
while unconfirmed_users: #該列表不為空就會執行循環
? ? current_user = unconfirmed_users.pop()
? ? confirmed_users.append(current_user)
print(confirmed_users)
print(unconfirmed_users) #輸出為空
7.3.2 刪除包含特定值的所有列表元素
pets = ['cat', 'monkey', 'cat', 'bull', 'tiger', 'rabbit', 'dragon']
while 'cat' in pets:
? ? pets.remove('cat')
print(pets)
7.3.3 使用用戶輸入來填充字典
# -*- coding: utf-8 -*-
vacation_land = {} #先定義一個空字典
active = True #設置標志
while active:
? ? name = input('what is your name?')
? ? place = input('\where would you like to go?')
? ? vacation_land[name] = place
? ? repeat = input('is there anyone else to travel with?yes/ no')
? ? if repeat == 'no':
? ? ? ? active = False
print('\nThe search results is all below:')
for name, place in vacation_land.items():
print(name.title() + ' would like to visit ' + place.title() + #太長換行
' during the holiday!')