前言 大部分初學編程的人來說剛開始都會練習判斷兩個數(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 if b 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] 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)這一任務了。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)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對我們的支持。 時間: 2019-08-06 |
|