欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python下10個簡單實例代碼

 更新時間:2017年11月15日 22:50:17   作者:MTbaby  
最近學(xué)python比較順手,找到感覺了,所以,我想把我用來練習(xí)的實例題目分享出來,有興趣的朋友可以關(guān)注一下。 文章分為10篇,每篇10題,共100道實例。后續(xù)如果需要可以增加

注意:我用的python2.7,大家如果用Python3.0以上的版本,請記得在print()函數(shù)哦!如果因為版本問題評論的,不做回復(fù)哦?。?!

1.題目:有1、2、3、4個數(shù)字,能組成多少個互不相同且無重復(fù)數(shù)字的三位數(shù)?都是多少?

程序分析:可填在百位、十位、個位的數(shù)字都是1、2、3、4。組成所有的排列后再去 掉不滿足條件的排列。
程序源代碼: 

# -*- coding: UTF-8 -*-
for i in range(1,5):
 for j in range(1,5):
  for k in range(1,5):
   if (i != j) and (i != k) and (j != k):
    print i,j,k

 2.題目:企業(yè)發(fā)放的獎金根據(jù)利潤提成。利潤(I)低于或等于10萬元時,獎金可提10%;利潤高于10萬元,低于20萬元時,低于10萬元的部分按10%提成,高于10萬元的部分,可可提成7.5%;20萬到40萬之間時,高于20萬元的部分,可提成5%;40萬到60萬之間時高于40萬元的部分,可提成3%;60萬到100萬之間時,高于60萬元的部分,可提成1.5%,高于100萬元時,超過100萬元的部分按1%提成,從鍵盤輸入當(dāng)月利潤I,求應(yīng)發(fā)放獎金總數(shù)?

程序分析:請利用數(shù)軸來分界,定位。注意定義時需把獎金定義成長整型。

方法一: 這種方法是我用數(shù)學(xué)的原理做的,就是把每種情況都列出一個表達(dá)式,最后簡化表達(dá)式,然后直接根據(jù)輸入的利潤 I 來計算表達(dá)式的值,也就是獎金總數(shù)。就是把獎金疊加起來,具體算法還是要在紙上計算,這種方法適用于初學(xué)編碼的人,比如我,用最笨的數(shù)學(xué)思路解決問題,就是說在數(shù)學(xué)上你是按照什么方法做的,然后把他轉(zhuǎn)化成代碼,就比較容易理解了。

# -*- coding: UTF-8 -*-
while True:
 I = input("pls input the lirun:")
 if I <= 10:
  a = I * 0.01
  print a
 elif I <= 20 and I > 10:
  b =0.25 + I * 0.075
  print b
 elif I <= 40 and I > 20:
  c = 0.75 + I * 0.05
  print c
 elif I <= 60 and I > 40:
  d = 0.95 + I * 0.03
  print d
 elif I <= 60 and I > 100:
  e = 2 + I * 0.015
  print e
 else:
  f = 2.95 + I * 0.01
  print f

方法二:這種方法就比較難懂了,適合于基礎(chǔ)好的人。

# -*- coding: UTF-8 -*-
I = int(raw_input('凈利潤:'))
#這應(yīng)該就是各個分界值了,把它們放在列表里方便訪問
arr = [1000000,600000,400000,200000,100000,0] 
#這是各個分界值所對應(yīng)的獎金比例值
rat = [0.01,0.015,0.03,0.05,0.075,0.1] 
 #這是總獎金的初始值
r = 0  
 #有6個分界值當(dāng)然要循環(huán)6次     
for idx in range(0,6):  
 if I > arr[idx]:
  r = r + (I - arr[idx]) * rat[idx] 
  print (I - arr[idx]) * rat[idx]
  I = arr[idx]
print r

3.題目:一個整數(shù),它加上100和加上268后都是一個完全平方數(shù),請問該數(shù)是多少?

程序分析:在10000以內(nèi)判斷,將該數(shù)加上100后再開方,加上268后再開方,如果開方后的結(jié)果滿足如下條件,即是結(jié)果。這里要用到數(shù)學(xué)中的開方函數(shù) sqrt。

# -*- coding: UTF-8 -*-
import math
for i in range(10000):
 x = int(math.sqrt(i + 100))
 y = int(math.sqrt(i + 268))
 if (x * x == i + 100) and (y * y == i + 268):
  print i

4.題目:輸入某年某月某日,判斷這一天是這一年的第幾天?

程序分析:以3月5日為例,應(yīng)該先把前兩個月的加起來,然后再加上5天即本年的第幾天,特殊情況,閏年且輸入月份大于3時需考慮多加一天。

思路:先把輸入的日期進(jìn)行分割,分割成年,月,日三個數(shù)字,再按照實際情況依次編寫。

# -*- coding: UTF-8 -*-
x = raw_input("請輸入日期,比如20160506:")
year = int(x[:4])
month = int(x[4:6])
day = int(x[6:8])
month_day = [31,28,31,30,31,30,31,31,30,31,30,31]
data = sum(month_day[:(month-1)],day)
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
 if month > 2:
  data = data + 1
print "it is the %dth day"% (data)

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

程序分析一:我們想辦法把最小的數(shù)放到x上,先將x與y進(jìn)行比較,如果x>y則將x與y的值進(jìn)行交換,然后再用x與z進(jìn)行比較,如果x>z則將x與z的值進(jìn)行交換,這樣能使x最小。

# -*- coding: UTF-8 -*-
l = []
for i in range(3):
 x = int(raw_input('integer:\n'))
 l.append(x) #這里用append()函數(shù),意思是追加元素
 l.sort()
print l

程序分析二:用一個變量來存儲最小值,三個數(shù)進(jìn)行比較后兩兩交換,這是最常用的思路。

# -*- coding: UTF-8 -*-

x = input("input a num:")
y = input("input a num:")
z = input("input a num:")
temp = 0
if x < y:
 temp = x
 x = y
 y = temp
if x < z:
 temp = x
 x = z
 z = temp
if y < z:
 temp = y
 y = z
 z = temp
print z,y,x #由于上面是由小到大來比較和交換的,所以這里需要逆序輸出

程序分析三:用函數(shù)sort進(jìn)行排序,sort函數(shù)可以把數(shù)字按照從小到大的順序進(jìn)行重新排列。

# -*- coding: UTF-8 -*-
x = input("input a num:")
y = input("input a num:")
z = input("input a num:")
y = [x,y,z] #注意,這里只能是列表,不能是元組,因為元組是不可改變的,你懂得??!
y.sort()
print y

6.題目:將一個列表的數(shù)據(jù)復(fù)制到另一個列表中。

注意: 有些同學(xué)想到使用append()函數(shù),這里要特別注意,append()函數(shù)是每次追加一個元素,如果使用append()函數(shù),會把需要追加的那個列表當(dāng)成一個數(shù)據(jù)來使用,不信你看下面這個:

方法一:

# -*- coding: UTF-8 -*-
l1 = [1,2,3]
l2 = [4,5,6]
l1.append(l2)
print l1

輸出:[1, 2, 3, [4, 5, 6]]

方法二:使用“+”來連接兩個列表,即就是把l2列表的數(shù)據(jù)復(fù)制到l1列表中。

# -*- coding: UTF-8 -*-
l1 = [1,2,3]
l2 = [4,5,6]
print l1 + l2

輸出:[1, 2, 3, 4, 5, 6]

方法三:使用列表[:]。切片的方法,大家都知道如果不指定start和end,則表示輸出該列表的所以元素。

# -*- coding: UTF-8 -*-
a = [1, 2, 3] #把列表a復(fù)制到列表b
b = a[:]
print b

7.題目:輸出9*9乘法口訣表。

程序分析:分行與列考慮,共9行9列,i控制行,j控制列。如果不要求格式的話,就簡單了,可以任意格式輸出,如下:

# -*- coding: UTF-8 -*-
for i in range(1,10):
 for j in range(1,10):
  x = i * j
  print "%d * %d = %d" % (i,j,x)

如果需要考慮輸出格式,我們后面的文章會講到,嘿嘿。

8.題目:暫停一秒輸出。

程序分析:暫停時間的函數(shù)為 time.sleep(),此處可隨意舉例,列表,元組,字典均可。

# -*- coding: UTF-8 -*-
import time
d = {"a":1,"b":2}
for i in d:
 print i
 time.sleep(1) #暫停一秒輸出

9.題目:斐波那契數(shù)列。

程序分析:斐波那契數(shù)列(Fibonacci sequence),又稱黃金分割數(shù)列,指的是這樣一個數(shù)列:0、1、1、2、3、5、8、13、21、34、……。
在數(shù)學(xué)上,費波那契數(shù)列是以遞歸的方法來定義:

n = 1 時 f(1) = 1
n = 2 時 f(2) = 1
n = 3 時 f(3) = f(3-1) + f(3-2)
    = f(2) + f(1)
    = 1 + 1
    = 2
n = 4 時 f(4) = f(4-1) + f(4-2)
    = f(3) + f(2)
    = 2 + 1
    = 3
n = 5 時 f(5) = f(5-1) + f(5-2)
    = f(4) + f(3)
    = 3 + 2
    = 5
.....   ...

所以,當(dāng) n >= 2 時,表達(dá)式為f(n) = f(n-1) + f(n-2)

方法一:

# -*- coding: UTF-8 -*-

def fib(n):
 a,b = 1,1
 for i in range(n-1):
  a,b = b,a+b
 return a

# 輸出了第10個斐波那契數(shù)列
 print fib(10)

方法二:

# -*- coding: UTF-8 -*-

# 使用遞歸
def fib(n):
 if n==1 or n==2:
  return 1
 return fib(n-1)+fib(n-2)

# 輸出了第10個斐波那契數(shù)列
print fib(10)

方法三:如果你需要輸出指定個數(shù)的斐波那契數(shù)列,可以使用以下代碼:

# -*- coding: UTF-8 -*-

def fib(n):
 if n == 1:
  return [1]
 if n == 2:
  return [1, 1]
 fibs = [1, 1]
 for i in range(2, n):
  fibs.append(fibs[-1] + fibs[-2])
 return fibs

# 輸出前 10 個斐波那契數(shù)列
print fib(10)

10.題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數(shù)為多少?

程序分析:經(jīng)過計算和尋找規(guī)律得到,兔子的規(guī)律為數(shù)列1,1,2,3,5,8,13,21….典型的斐波那契數(shù)列,這就是為什么我要把斐波那契數(shù)列數(shù)列放在第九題的原因,那么根據(jù)上一題的方法三,我們就非常輕松的求得每月兔子的數(shù)量。

此外,還有一種比較漂亮的輸出:

# -*- coding: UTF-8 -*-

f1 = 1
f2 = 1
for i in range(1,21):
 print '%12ld %12ld' % (f1,f2),
 if (i % 3) == 0:
  print ''
 f1 = f1 + f2
 f2 = f1 + f2

輸出
1 1 2 3 5 8
13 21 34 55 89 144
233 377 610 987 1597 2584
4181 6765 10946 17711 28657 46368
75025 121393 196418 317811 514229 832040
1346269 2178309 3524578 5702887 9227465 14930352
24157817 39088169 63245986 102334155 165580141 267914296

相關(guān)文章

  • Python實用工具FuckIt.py介紹

    Python實用工具FuckIt.py介紹

    這篇文章主要介紹了Python實用工具FuckIt.py介紹,FuckIt.py 使用了最先進(jìn)的技術(shù)能夠使你的代碼不管里面有什么樣的錯誤,你只管 FuckIt,程序就能“正?!眻?zhí)行,兵來將擋水來土掩,需要的朋友可以參考下
    2019-07-07
  • 基于Python做一個簡單的動圖生成器

    基于Python做一個簡單的動圖生成器

    現(xiàn)在的年輕人都開始每天保溫杯里泡枸杞,這怎么能行呢?于是懷揣著愉悅心情的想法,我開始制作GIF動圖生成器,這個小工具制作的目的是為了將多張圖片組合后生成一張動態(tài)的GIF圖片,感興趣的可以嘗試一下
    2023-01-01
  • python寫入xml文件的方法

    python寫入xml文件的方法

    這篇文章主要介紹了python寫入xml文件的方法,涉及Python操作XML模塊實現(xiàn)針對XML文件操作的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • Python使用sqlalchemy實現(xiàn)連接數(shù)據(jù)庫的幫助類

    Python使用sqlalchemy實現(xiàn)連接數(shù)據(jù)庫的幫助類

    這篇文章主要為大家詳細(xì)介紹了Python如何使用sqlalchemy實現(xiàn)連接數(shù)據(jù)庫的幫助類,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,需要的可以參考下
    2024-02-02
  • Python使用pytorch動手實現(xiàn)LSTM模塊

    Python使用pytorch動手實現(xiàn)LSTM模塊

    這篇文章主要介紹了Python使用pytorch動手實現(xiàn)LSTM模塊,LSTM是RNN中一個較為流行的網(wǎng)絡(luò)模塊。主要包括輸入,輸入門,輸出門,遺忘門,激活函數(shù),全連接層(Cell)和輸出
    2022-07-07
  • Python實現(xiàn)批量繪制遙感影像數(shù)據(jù)的直方圖

    Python實現(xiàn)批量繪制遙感影像數(shù)據(jù)的直方圖

    這篇文章主要為大家詳細(xì)介紹了如何基于Python中g(shù)dal模塊,實現(xiàn)對大量柵格圖像批量繪制直方圖,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-02-02
  • Python多線程與多處理之間的區(qū)別詳解

    Python多線程與多處理之間的區(qū)別詳解

    在本文中,我們將學(xué)習(xí) Python 中多線程和多處理的內(nèi)容、原因和方式,文中通過代碼示例給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-01-01
  • Python之site-packages目錄的位置

    Python之site-packages目錄的位置

    這篇文章主要介紹了Python之site-packages目錄的位置,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 用Python生成會跳舞的美女

    用Python生成會跳舞的美女

    大家好,本篇文章主要講的是用Python生成會跳舞的美女,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • Python+Selenium鍵盤鼠標(biāo)模擬事件操作詳解

    Python+Selenium鍵盤鼠標(biāo)模擬事件操作詳解

    這篇文章主要帶大家一起學(xué)習(xí)一下Selenium的元素的基本操作與鼠標(biāo)鍵盤模擬事件的操作,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-06-06

最新評論