python2 7練習小例子(五)

2022-08-29 12:09:12 字數 4075 閱讀 4631

5):題目:輸入三個整數x,y,z,請把這三個數由小到大輸出。

程式分析:我們想辦法把最小的數放到x上,先將x與y進行比較,如果x>y則將x與y的值進行交換,然後再用x與z進行比較,如果x>z則將x與z的值進行交換,這樣能使x最小。

程式源**:

#!/usr/bin/python

# -*- coding: utf-8 -*-

l =

for i in range(3):

x = int(raw_input('integer:\n'))

l.sort()

print l

以上例項輸出結果為:

integer:8integer:5integer:6[5,6,8]

#!/usr/bin/python# -*- coding: utf-8 -*-x =int(raw_input("x:"))y =int(raw_input("y:"))z =int(raw_input("z:"))a =print'--------分割線--------'forw insorted(a,key=a.get):printw,a[w]

輸出結果為:

x:5y:2z:8--------分割線--------y 2x 5z 8

#!/usr/bin/python# -*- coding: utf-8 -*-a=[1,3,5,2,4,5,7]n=len(a)fori inrange(0,n):forj inrange(i,n):if(a[i]>=a[j]):tmp =a[i]a[i]=a[j]a[j]=tmp

printa

#!/usr/bin/python# -*- coding: utf-8 -*-x=raw_input("int1:")y=raw_input("int2:")max=max(x,y)min=min(x,y)z=raw_input("int3:")ifz >max:printmin,max,z

elifz

python3.x 版本下使用利用氣泡排序方法:

#!/usr/bin/env python3# 利用氣泡排序方法defsort(list):n =len(list)fori inrange(1,n):# 一次次的將最大的學出來forj inrange(1,n -i +1):iflist[j -1]>list[j]:list[j -1],list[j]=list[j],list[j -1]# 列印排序過程print(list)fori inrange(0,n):print(list[i])# 讀入資料definputdata():list_first =whiletrue:a =input("please input num:".strip())iflen(a)==0:returnlist_first

使用 列表 sort=,可接受引數 reverse,預設為布林值 false,按公升序排序,設定為 true 則按降序排序:

#!/usr/bin/python# -*- coding: utf-8 -*-x =int(input('x='))y =int(input('y='))z =int(input('z='))num =[x,y,z]num.sort()# 對列表進行公升序排序print'這三個數由小到大的順序為:',num

rnum =[x,y,z]# 對列表進行降序排序rnum.sort(reverse=true)print'這三個數由大到小的順序為:',rnum

#!/usr/bin/env python#coding:utf-8d=raw_input("請輸入三個數字,格式如 'a,b,c':")li=d.split(",")li2=[int(i)fori inli]li2.sort()printli2

對輸入型別進行了控制,如果輸入錯誤,就提示使用者,讓使用者再次輸入,直到正確輸入整數為止:

#!/usr/bin/env python#coding:utf-8#輸入三個整數x,y,z,請把這三個數由小到大輸出。while1:try:x =int(input("plz input x: "))y =int(input("plz input y: "))z =int(input("plz input z: "))list1 =[x,y,z]print(sorted(list1))breakexcept:print("請輸入整數")

#! /usr/bin/python# -*- coding:utf-8 -*-a =int(raw_input("請輸入:"))b =int(raw_input("請輸入:"))c =int(raw_input("請輸入:"))ifa>b anda>c:x =a

a =c

elifb>a andb>c:x =b

b =c

else:x =c

ifa>b:printb,a,x

else:printa,b,x

#!/usr/bin/python# -*- coding: utf-8 -*-x =int(raw_input('x->'))y =int(raw_input('y->'))z =int(raw_input('z->'))arr =[x,y,z]fori inrange (0,3):foro inrange (0,3):forp inrange (0,3):ifarr[i]>arr[o]>arr[p]:printarr[i],arr[o],arr[p]

# -*- coding: utf-8 -*-importnumpy asnp

x=int(input('請輸入乙個整數:\n'))y=int(input('請輸入乙個整數:\n'))z=int(input('請輸入乙個整數:\n'))l =[x,y,z]fori inrange(len(l)):a =np.argmin(l)print(l[a])dell[a]

下例更簡單,python2.x 與 python3.x 均可使用:

# -*- coding: utf-8 -*-x=int(input('請輸入乙個整數:\n'))y=int(input('請輸入乙個整數:\n'))z=int(input('請輸入乙個整數:\n'))if(x >y):x,y =y,x;if(y >z):y,z =z,y

print((x,y,z));

下例更通用:

# -*- coding: utf-8 -*-elements=(4,3,5,2,6,1,7);print("正序排列:{}".format(sorted(elements)));print("倒序排列:{}".format(list(reversed(sorted(elements)))));

python3的例項:

print(sorted([int(input("enter a integer: "))forx inrange(3)]))

冒泡演算法:

#!/usr/bin/python# -*- coding: utf-8 -*-#氣泡排序a =[int(i)fori inraw_input("請輸入:").split()]m =len(a)whilem!=1:fori inrange(m-1):ifa[i]>a[i+1]:x =a[i]a[i]=a[i+1]a[i+1]=x

m -=1printa

列表sort:

#!/usr/bin/python# -*- coding: utf-8 -*-l =[int(i)fori inraw_input("請輸入: ").split()]l.sort()printl

看過這麼些個例子,諸君有何感想???我的感覺就是,遇到問題,優先考慮內建函式,再來是演算法,最後就是通常意義上的自己寫乙個函式了。。。

如果感覺不錯的話,請多多點贊支援哦。。。

python2 7練習小例子(十二)

12 題目 列印出所有的 水仙花數 所謂 水仙花數 是指乙個三位數,其各位數字立方和等於該數本身。例如 153是乙個 水仙花數 因為153 1的三次方 5的三次方 3的三次方。程式分析 利用for迴圈控制100 999個數,每個數分解出個位,十位,百位。程式源 usr bin python codi...

python2 7練習小例子(九)

9 1 題目 暫停一秒輸出。程式分析 使用 time 模組的 sleep 函式。程式源 usr bin python coding utf 8 import time myd for key,value in dict.items myd print key,value time.sleep 1 暫...

python2 7練習小例子(七)

7 題目 將乙個列表的資料複製到另乙個列表中。程式分析 使用列表 程式源 usr bin python coding utf 8 a 1,2,3 b a print b 以上例項輸出結果為 1,2,3 importcopy a 1,2,3 b copy.copy a print b 1,2,3 a ...