1. 程式人生 > >python2.7練習小例子(五)

python2.7練習小例子(五)

except als bold env blog 交換 mat 通用 num

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.append(x)
l.sort()
print l

以上實例輸出結果為:

integer:
8
integer:
5
integer:
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 = {"x":x,"y":y,"z":z}
print ‘--------分割線--------‘
for w in sorted(a, key=a.get):
    print w, a[w]

輸出結果為:

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

#!/usr/bin/python
# -*- coding: UTF-8 -*-

a=[1,3,5,2,4,5,7]

n=len(a)

for i in range(0,n):
  for j in range(i,n) :
     if (a[i] >= a[j] ):
         tmp =a[i]
         a[i]=a[j]
         a[j]=tmp

print a

#!/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:")
if z > Max :
    print Min,Max,z
elif z < Min :
    print z,Min,Max
else :
    print Min,z,Max

Python3.x 版本下使用利用冒泡排序方法:

#!/usr/bin/env python3

# 利用冒泡排序方法
def Sort(list):
    n = len(list)
    for i in range(1, n):
        # 一次次的將最大的學出來
        for j in range(1, n - i + 1):
            if list[j - 1] > list[j]:
                list[j - 1], list[j] = list[j], list[j - 1]
            # 打印排序過程
            print(list)
    for i in range(0, n):
        print(list[i])

# 讀入數據
def inputData():
    list_first = []
    while True:
        a = input("please input num:".strip())
        if len(a) == 0:
            return list_first
        else:
            list_first.append(int(a))

if __name__ == ‘__main__‘:
    lt = inputData()
    print(lt)
    Sort(lt)

使用 列表 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-8

D=raw_input("請輸入三個數字,格式如 ‘a,b,c‘:")
li=D.split(",")
li2=[int(i) for i in li]
li2.sort()
print li2

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

#!/usr/bin/env python
#coding:utf-8
#輸入三個整數x,y,z,請把這三個數由小到大輸出。
while 1:
    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))
        break
    except:
        print("請輸入整數")

#! /usr/bin/python
# -*- coding:UTF-8 -*-
a = int(raw_input("請輸入:"))
b = int(raw_input("請輸入:"))
c = int(raw_input("請輸入:"))
if a>b and a>c:
    x = a
    a = c
elif b>a and b>c:
    x = b
    b = c
else:
    x = c
if a>b:
    print b,a,x
else:
    print a,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]
for i in range (0,3):
    for o in range (0,3):
        for p in range (0,3):
            if arr[i] > arr[o] > arr[p]:
                print arr[i],arr[o],arr[p]

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

import numpy as np
x=int(input(‘請輸入一個整數:\n‘))
y=int(input(‘請輸入一個整數:\n‘))
z=int(input(‘請輸入一個整數:\n‘))
l = [x,y,z]
for i in range(len(l)):
    a = np.argmin(l)
    print(l[a])
    del l[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: ")) for x in range(3)]))

冒泡算法:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

#冒泡排序
a = [int(i) for i in raw_input("請輸入:").split()]
m = len(a)
while m!=1:
    for i in range(m-1):
        if a[i]>a[i+1]:
            x = a[i]
            a[i] = a[i+1]
            a[i+1] = x
    m -= 1
print a

列表sort:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

l = [int(i) for i in raw_input("請輸入: ").split()]
l.sort()
print l

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

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

  原文鏈接:https://blog.csdn.net/luyaran/article/details/80017404

python2.7練習小例子(五)