Python編程學習之如何判斷3個數(shù)的大小
前言
大部分初學編程的人來說剛開始都會練習判斷兩個數(shù)或者三個數(shù)的大小,來熟悉某種語言的特性和最基本的if,else循環(huán),當我們學習了更高級的語法知識后,又會有不同的實現(xiàn)方式,比如這道練習題依次接收用戶輸入的3個數(shù),排序后打印現(xiàn)在我們來看一下在Python中都有哪些方法來實現(xiàn):
1, 采用分支結(jié)構(gòu),用最基本的if和else來實現(xiàn):
a = int(input('a>>>')) b = int(input('b>>>')) c = int(input('c>>>')) if a>b: if b>c: print('a>b>c') else: if a>c: print('a>c>b') else: print('c>a>b') elif a<b: if b<c: print('c>b>a') else: if c>a: print('b>c>a') else: print('b>a>c')
這可能是大部分初學編程er的第一想法,但較為繁瑣,由于我最近剛學到列表list,那么如果用list來實現(xiàn)的話方法有哪些呢
2,引入列表
nums = [] for i in range(3): nums.append(int(input('{}; '.format(i)))) if nums[0]>nums[1]: if nums[0]>nums[2]: i3 = nums[0] if nums[1] > nums[2]: i2 = nums[1] i1 = nums[0] else: i2 = nums[0] i1 = nums[1] else:#0<2 1<0 i3 = nums[2] i2 = nums[0] i1 = nums[1] else: #[0]<[1] if nums[0] < nums[2]: i1 = nums[0] if nums[1] < nums[2]: i2 = nums[1] i3 = nums[2] else:#[1]>[2] if nums[0] > nums[2]: i2 = nums[0] i3 = mums[2] else: i2 = nums[2] i3 = mums[0] print(i1,i2,i3)
雖然我們在這里用了list,但是邏輯上還是第一種逐個比較后再打印的思想,所以可以看到,并沒有變簡潔。
3,使用Max函數(shù)
nums = [] for i in range(3): nums.append(int(input('{}: '.format(i)))) #此處不能使用for循環(huán),不能一邊迭代該列表,同時刪除或者增加該列表 while True: x = max(nums) print(x) nums.remove(x) if len(nums) == 1: print(nums[0]) break
這種方法的思路是找出最大值,打印再剔除,直到最后打印出最小值。這樣的話我們就能以較少的代碼來實現(xiàn)這一任務(wù)了。max函數(shù)和min函數(shù)是Python的內(nèi)置函數(shù),在求最大值和最小值上更快速便捷。但當我們需要比較并打印出很多的數(shù)字時,這種方法就沒那么高效了。
4,用列表的sort操作來實現(xiàn)大小比較并打印輸出
sort(key=None, reverse=False) -> None
對列表元素進行排序,就地修改,默認升序
nums = [] out = None for i in range(3): nums.append(int(input('{}: '.format(i)))) nums.sort() print(nums)
這一次可以看到,代碼簡潔了很多,而且即便我們需要增加輸入量,比較多個數(shù)據(jù)也只需要做很少的改動即可。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。
相關(guān)文章
python中requests模擬登錄的三種方式(攜帶cookie/session進行請求網(wǎng)站)
這篇文章主要介紹了python中requests模擬登錄的三種方式(攜帶cookie/session進行請求網(wǎng)站),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-11-11