Python实现循环语句的方式-Python专栏011
Python世界中,循环语句的魔力无处不在,让我们一起探索它的丰富多彩。这里有四种主要的循环方式,让你的代码如丝般流畅。
1. for 循环 - 你的序列伙伴
Python的for循环是你的序列探索者,无论是列表、字符串,还是元组,它都能带你领略个中韵味。基础语法是这样的:for variable in sequence: 它是这样工作的:
- 变量名 variable,随序列 sequence 的每个元素起舞,如在列表 numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 中,我们计算平方数:for number in numbers: print(number**2),逐个揭示每个元素的秘密。
- 同样,遍历字符串 s = "hello world",for char in s: print(char.upper()),每个字符都化身大写,尽显个性。
- 字典的 d = {'apple': 2, 'banana': 3, 'orange': 4} 也逃不过它的法眼,for key, value in d.items(): print(key, value),揭示键值对的秘密。
- 文件 file.txt 的每行内容,with open('file.txt', 'r') as f: for line in f: print(line.strip()),逐行解读。
2. while 循环 - 无尽的探索
当你需要一个条件驱动的循环时,while 循环就是你的向导。例如,遍历列表 fruits = ['apple', 'banana', 'orange', 'grape'] 的每个元素,i = 0; while i < len(fruits): print(fruits[i]); i += 1,直到遍历完整个序列。
猜数字游戏中,import random; number = random.randint(1, 10); guess = 0,while guess != number:,每一次猜测都带着期待和挑战。
3. range() - 数字的魔法序列
range()函数如同魔法棒,能生成一系列数字。for i in range(1, 11): print(i),创造了一段数字的旅程。配合list(),numbers = list(range(1, 11)),你有了完整的序列。甚至可以用步长控制,for i in range(1, 11, 2),只留下奇数的足迹。
与len()配合,fruits = ['apple', 'banana', 'orange', 'grape'],for i in range(len(fruits)):,每个元素的位置都了如指掌。
4. enumerate() - 寻找元素与位置的默契
enumerate()让元素和位置有了对话,for i, value in enumerate(numbers):,它不仅能告诉你数字,还能指出它们的位置。在查找元素时,如寻找fruits = ['apple', 'banana', 'orange', 'grape']中的'banana',for i, fruit in enumerate(fruits): if fruit == 'banana': print("banana的位置是:", i),位置不再神秘。
通过这些循环方式,Python让你的代码更灵活,更高效。在你的编程旅程中,每一次循环都是一次新的发现。希望这些技巧能助你编写出更优雅的Python代码。
绛旓細python while寰幆璇彞锛氭垜浠Щ鍔╥nput鍜宨f璇彞鍒皐hile寰幆涓紝鍦╳hile寰幆鍓嶏紝璁剧疆鍙橀噺running涓篢rue銆傞鍏堬紝鎴戜滑妫娴嬪彉閲弐unning鏄惁涓篢rue锛岀劧鍚庡線涓嬫墽琛岀浉搴旂殑while鍧椼傚湪杩欎釜鍧楁墽琛屽畬鍚庯紝鍐嶆娴嬫潯浠讹紝鍦ㄨ繖閲屾槸鍙橀噺running锛屼负鐪燂紝鎴戜滑鍐嶆鎵цwhile鍧楋紝鍚﹀垯锛屾垜浠墽琛屽彲閫夌殑else鍧楋紝鐒跺悗鎵ц涓嬮潰鐨勮鍙ャ傜敤娉 ...
绛旓細pythondo{//寰幆浣搣while(寰幆鏉′欢);do-while`寰幆鐨鎵ц杩囩▼涓猴細棣栧厛鎵ц寰幆浣撶殑浠g爜鍧楋紝鐒跺悗鍒ゆ柇寰幆鏉′欢鏄惁婊¤冻锛屽鏋滄弧瓒筹紝鍒欏啀娆℃墽琛屽惊鐜綋锛岄噸澶嶄互涓婃楠わ紝鐩村埌寰幆鏉′欢涓嶆弧瓒虫椂缁撴潫寰幆銆傝繖涓夌寰幆缁撴瀯璇彞鍦ㄤ笉鍚岀殑搴旂敤鍦烘櫙涓捣鍒颁簡閲嶈鐨勪綔鐢紝鑳藉鏈夋晥鍦版帶鍒剁▼搴忕殑娴佺▼鍜岄昏緫锛瀹炵幇閲嶅鎵ц鐗瑰畾...
绛旓細鍦Python涓寰幆璇彞鐨绫诲瀷涓昏鏈変互涓嬪嚑绉嶏細While寰幆锛氬湪缁欏畾鐨勫垽鏂潯浠朵负true鏃舵墽琛屽惊鐜綋锛屽惁鍒欓鍑哄惊鐜綋銆侳or寰幆锛氶噸澶嶆墽琛岃鍙ャ傚祵濂楀惊鐜細鍙互鍐峸hile寰幆浣撻噷宓屽for寰幆銆傜粨鏋勭畝浠 寰幆缁撴瀯鍙互鐪嬫垚鏄竴涓潯浠跺垽鏂鍙ュ拰涓涓悜鍥炶浆鍚戣鍙ョ殑缁勫悎銆傚彟澶栵紝寰幆缁撴瀯鐨勪笁涓绱狅細寰幆鍙橀噺銆佸惊鐜綋鍜屽惊鐜...
绛旓細foriinrange(1锛宯+1锛2)锛歳esult*=i#绱箻姣忎竴椤筽rint(鏁板垪1*3*5*5*鈥︹鐨勭Н涓猴細锛宺esult)浠g爜鎵ц杩囩▼涓紝棣栧厛閫氳繃input鍑芥暟鑾峰彇鏁板垪鐨勬渶鍚庝竴椤筺鐨勫硷紝鐒跺悗鍒濆鍖栫粨鏋渞esult涓1銆傚彲浠ヤ娇鐢Python鐨for寰幆璇彞鏉瀹炵幇銆備唬鐮佺ず渚嬪涓嬶細n=int(input(Pleaseinputanumber锛))sum=0foriinrange(1锛宯+...
绛旓細鍦 Python 涓紝姹 1~10 鐨勫钩鏂瑰拰鍙互浣跨敤寰幆鏉ュ疄鐜帮紝甯歌鐨勫惊鐜湁 for 寰幆鍜 while 寰幆銆備笅闈㈠垎鍒粙缁嶈繖涓ょ寰幆鐨勫疄鐜鏂规硶銆1. for 寰幆瀹炵幇锛歚``result = 0 for i in range(1, 11):result += i ** 2 print("1~10 鐨勫钩鏂瑰拰涓猴細", result)```鍦ㄤ笂闈㈢殑浠g爜涓紝鎴戜滑浣跨敤浜 for ...
绛旓細for寰幆閲岄潰鏈変竴涓殣钘忕殑鏈哄埗锛屽氨鏄嚜鍔ㄦ墽琛宨ndex+1锛岀洿鍒伴亶鍘嗗畬鏁翠釜搴忓垪 鍩烘湰璇硶 Python鐨璁捐鐩爣涔嬩竴鏄浠g爜鍏峰楂樺害鐨勫彲闃呰鎬с傚畠璁捐鏃跺敖閲忎娇鐢ㄥ叾瀹冭瑷缁忓父浣跨敤鐨勬爣鐐圭鍙峰拰鑻辨枃鍗曞瓧锛岃浠g爜鐪嬭捣鏉ユ暣娲佺編瑙傘傚畠涓嶅儚鍏朵粬鐨勯潤鎬佽瑷濡侰銆丳ascal閭f牱闇瑕侀噸澶嶄功鍐欏0鏄璇彞锛屼篃涓嶅儚瀹冧滑鐨勮娉曢偅鏍风粡甯告湁...
绛旓細python鐨for寰幆璇彞鍐欐硶锛歸hile 鍒ゆ柇鏉′欢(condition)锛涙墽琛岃鍙(statements)銆傛墽琛岃鍙ュ彲浠ユ槸鍗曚釜璇彞鎴栬鍙ュ潡銆傚垽鏂潯浠跺彲浠ユ槸浠讳綍琛ㄨ揪寮忥紝浠讳綍闈為浂銆佹垨闈炵┖锛坣ull锛夌殑鍊煎潎涓簍rue銆傚綋鍒ゆ柇鏉′欢鍋 false 鏃讹紝寰幆缁撴潫銆傚疄渚嬶細!/usr/bin/python count = 0 while (count < 9):print 'The count is:', ...
绛旓細sum = 0 for i in range(50, 101):if i % 2 == 1:sum += i print("50鍒100涓鏁颁箣鍜屼负锛", sum)
绛旓細2銆乪lse璇彞 Python鎻愪緵浜嗕笌if璇彞鎼厤浣跨敤鐨別lse璇彞锛屽鏋渋f璇彞鐨鏉′欢琛ㄨ揪寮忕殑缁撴灉甯冨皵鍊间负鍋囷紝閭d箞绋嬪簭灏嗘墽琛 else 璇彞鍚庣殑浠g爜銆傚叾璇硶濡備笅锛歩f expression:expr_true_suite else:expr_false_suite 鍦–璇█涓紝涓嶄細鍦ㄦ潯浠惰鍙ヨ寖鍥村鍙戠幇else璇彞锛 浣哖ython涓嶅悓锛屽彲浠ュ湪while鍜宖or寰幆涓娇鐢╡lse璇彞...
绛旓細Python While寰幆璇彞 Python 缂栫▼涓 while 璇彞鐢ㄤ簬寰幆鎵ц绋嬪簭锛屽嵆鍦ㄦ煇鏉′欢涓嬶紝寰幆鎵ц鏌愭绋嬪簭锛屼互澶勭悊闇瑕侀噸澶嶅鐞嗙殑鐩稿悓浠诲姟銆傚叾鍩烘湰褰㈠紡涓猴細while 鍒ゆ柇鏉′欢锛氭墽琛岃鍙モ︹︽墽琛岃鍙ュ彲浠ユ槸鍗曚釜璇彞鎴栬鍙ュ潡銆傚垽鏂潯浠跺彲浠ユ槸浠讳綍琛ㄨ揪寮忥紝浠讳綍闈為浂銆佹垨闈炵┖锛坣ull锛夌殑鍊煎潎涓簍rue銆傚綋鍒ゆ柇鏉′欢鍋噁alse鏃讹紝...