您好,登錄后才能下訂單哦!
本文實例講述了Python通用循環的構造方法。分享給大家供大家參考,具體如下:
1.交互循環
是無限循環的一種,允許用戶通過交互的方式程序的特定部分;
def main(): sum =0.0 count =0 moredata ='yes' #字符串 while moredata[0] =='y': #獲取字符串第一個字符,true執行下面的 x =eval(input('enter a number>>')) sum =sum+x count = count +1 moredata =input("你有更多的number(yes or no)") print("pingjunshushi:\n",sum/count) main() enter a number >>3 你有更多的number(yesor no)y enter a number >>4 你有更多的number(yesor no)n pingjunshushi: 3.5
2.哨兵循環:
執行循環要遇到設定的特殊數據,循環語句才會終止。
哨兵循環求平均數的方法:
1)設定一個哨兵值作為循環終止的標識;
2)任何值都可以看做哨兵,但是要與實際數有所區別;
python中空字符串以雙引號""表示,注意引號中間沒有空格!!!
def main(): sum =0 count =0 xStr = input("enter a number") while xStr != "": #空字符串 x = eval(xStr) #轉換字符串為數字的過成 sum = sum + x count =count +1 xStr = input("enter a number :") print("average is",sum/count) main() enter a number6 enter a number :6 enter a number :6 enter a number : 這里確認輸入不是哨兵空字符才將輸入字符串轉換為數字 average is 6.0
eval()
函數參數是字符串可以當成有效python表達式來求值,并返回計算結果
3.文件循環
def main(): fileName = input("file denumber:") #這個相當于一個文件 infile = open(fileName,'r') #open(文件名,方式'r'/'w')函數用來打開這個文件的一行保存在infile列表(相當一個數組)中 sum =0 count = 0 for line ininfile: #循環變量line遍歷文件的每一行(文件每一行已經保存在infile列表中),將每一行執行下面的代碼 sum = sum+eval(line) count = count +1 print("aveage is:",sum/count) main()
循環遍歷文件,通常的方法是用哨兵方法一次讀取文件的一行
這個可以用來讀取excel中的測試用例;
python中采用readline()
方法的end-of-file循環模式:
readline()
將文件的一行讀取到字符串中,在文件尾部readline()
返回一個空字符串可以作為哨兵值;
line=infile.readline() while line != "": #處理每一行 line =infile.readline()
這段代碼會讓人誤以為遇到一個空行時就會退出,其實不然文本文件的空行包括一個換行符\n 這樣readline()函數返回值是換行符,而不是哨兵值空字符串,循環繼續
open()
打開文件讀取保存到list中
readline()
讀取文件,每次讀取一行
4.死循環
python中可以用python完成特定的功能:
while True: try: x = int(input("輸入一個數字:")) break except ValueError: print("重新輸入:")
copy()
函數:
返回字典的淺拷貝;
dict1={"name":"liyue"} dict2=dict1.copy() print("dict2 is:",str(dict2))
運行結果:
dict2 is: {'name': 'liyue'}
python讀取excel:
注意讀取時候加上表頭,沒表頭不行,所以測試用例要有表頭。
更多關于Python相關內容感興趣的讀者可查看本站專題:《Python函數使用技巧總結》、《Python數學運算技巧總結》、《Python數據結構與算法教程》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程》
希望本文所述對大家Python程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。