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