18luck网站

18luck网站電子設計 | 18luck网站Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 18luck网站 >> 編程學習 >> Python >> 正文

python示例 Python編程實例學習 Python程序入門

作者:佚名    文章來源:網絡整理    點擊數:    更新時間:2024/4/9

index

python示例

1. 實例001:數字組合

題目: 有四個(ge) 數字:1、2、3、4,能組成多少個(ge) 互不相同且無重複數字的三位數?各是多少?

2. 實例002:“個稅計算”

題目 企業(ye) 發放的獎金根據利潤提成。利潤(I)低於(yu) 或等於(yu) 10萬(wan) 元時,獎金可提10%;利潤高於(yu) 10萬(wan) 元,低於(yu) 20萬(wan) 元時,低於(yu) 10萬(wan) 元的部分按10%提成,高於(yu) 10萬(wan) 元的部分,可提成7.5%;20萬(wan) 到40萬(wan) 之間時,高於(yu) 20萬(wan) 元的部分,可提成5%;40萬(wan) 到60萬(wan) 之間時高於(yu) 40萬(wan) 元的部分,可提成3%;60萬(wan) 到100萬(wan) 之間時,高於(yu) 60萬(wan) 元的部分,可提成1.5%,高於(yu) 100萬(wan) 元時,超過100萬(wan) 元的部分按1%提成,從(cong) 鍵盤輸入當月利潤I,求應發放獎金總數?

3. 實例003:完全平方數,

題目:一個(ge) 整數,它加上100後是一個(ge) 完全平方數,再加上168又是一個(ge) 完全平方數,請問該數是多少?

假設該數為(wei) x,則:
x + 100 = n 2 (1) x + 100 = n^2 \tag1 x+100=n2(1)
x + 100 + 168 = m 2 (2) x + 100 + 168 = m^2 \tag2 x+100+168=m2(2)

計算等式: m 2 − n 2 = ( m + n ) ( m − n ) = 168 (3) m ^2 - n ^2 = (m+n)(m-n) = 168 \tag3 m2−n2=(m+n)(m−n)=168(3)

設: i = m + n , j = m − n (4) i = m + n ,\qquad j = m - n \tag4 i=m+n,j=m−n(4)

那麽(me) , i ∗ j = 168 i * j = 168 i∗j=168, i和j至少一個(ge) 是偶數

由(4)得到:

m = i + j 2 (5) m = \dfrac{i+j}{2}\tag5 m=2i+j​(5)
n = i − j 2 (6) n = \dfrac{i-j}{2}\tag6 n=2i−j​(6)

由(5)和(6)可知,i和j要麽(me) 都是偶數,要麽(me) 都是奇數

由此可推導出,i與(yu) j均是大於(yu) 等於(yu) 2的偶數。

由於(yu) i ∗ j = 168 , j > = 2 則 1 < i < 168 2 + 1 i * j = 168,\quad j>=2 \quad 則 1 < i < \dfrac{168}{2} +1 i∗j=168,j>=2則1<i<2168​+1

那麽(me) 就可以對所有數字循環計算。
代碼:

# -*- coding: UTF-8 -*- for i in range(1, 85): if 168 % i == 0: j = 168 / i if i>j and (i-j) % 2 == 0 and (i + j) % 2 ==0: m = (i+j) / 2 n = (i - j) / 2 x = n * n - 100 print(x)

4. 實例004:這天第幾天,

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

5. 三數排序,

冒泡排序:
1. 要找出n-1個(ge) 數(從(cong) 大到小一次查找)
2. 假如:第1個(ge) 大數(最大),從(cong) 頭開始,依次與(yu) 後麵的一個(ge) 數比較,一直到第n-1位置的數與(yu) 第n位置的數比較。最大的數就放在第n的位置。比較n-1
3. 如果,已經找出了m的大數,下一次的比較,就是在找出m個(ge) 大數的基礎上進行比較,就是要在n-m個(ge) 數中比較,比較的次數是n-m-1
代碼:

arr = [9, 4, 7, 3, 1, 8] n = len(arr) for i in range(0,n-1): # range(1,n) = {1,2,...,n-1},range(0,n-1) = {0,1,...,n-2} for j in range(0,n-i-1): if arr[j] > arr[j+1]: arr[j],arr[j+1] = arr[j+1],arr[j] print('找到第',i+1,"個(ge) 大數時,排列順序為(wei) :",arr)

  1. 斐波那契數列,
    題目 :輸出斐波那契數列第n項的值。
    程序分析: 斐波那契數列(Fibonacci sequence),從(cong) 1,1開始,後麵每一項等於(yu) 前麵兩(liang) 項之和。

重點:可以用遞歸實現,也可以用循環實現。
a 1 = 1 , a 2 = 1 , a 3 = a 1 + a 2 , . . . , a n = a n − 2 + a n − 1 a_1 = 1, a_2 =1, a_3 = a_1 + a_2,..., a_n = a_{n-2}+a_{n-1} a1​=1,a2​=1,a3​=a1​+a2​,...,an​=an−2​+an−1​
方法1

n = int(input('please input a number of squence: ')) a = 1 b = 1 if n >2: for i in range(3,n+1): cur = a + b a = b b= cur print(cur)

方法2

n = int(input('please input a number of squence: ')) a = 1 b = 1 if n >2: for i in range(3,n+1): a,b=b,a+b print(b)


6. 實例011:養(yang) 兔子

題目: 有一對兔子,從(cong) 出生後第3個(ge) 月起每個(ge) 月都生一對兔子,小兔子長到第三個(ge) 月後每個(ge) 月又生一對兔子,假如兔子都不死,問每個(ge) 月的兔子總數為(wei) 多少?

**程序分析**: [點擊這裏查看](https://gitee.com/acktomas/teach/blob/master/python/07_%E5%85%BB%E5%85%94%E5%AD%90.ipynb) **代碼**: **遞歸算法**

def rabbits(n):
    if n < 3 and n > 0:
        return 1
    else:
        return rabbits(n - 1) + rabbits(n - 2)
month = int(input('當前月份:'))
for i in range(1, month + 1):
    num = rabbits(i)
    print('第%d月,兔子數量為(wei) %d對。'%(i, num))

循環的另一種解法

month=int(input('繁殖幾個月?: '))
month_1=1    #兔齡為1個月的兔子數量
month_2=0    #兔齡為2個月的兔子數量
month_3=0    #兔齡為3個月的兔子數量
month_elder=0  #成年
for i in range(month):
    month_elder = month_elder + month_3
    month_3 = month_2
    month_2 = month_1
    month_1 = month_elder + month_3  # 
    # month_1, month_2, month_3, month_elder = month_elder+month_3, month_1, month_2, month_elder+month_3
    print('第%d個月共'%(i+1),month_1+month_2+month_3+month_elder,'對兔子')
    print('其中1月兔:',month_1)
    print('其中2月兔:',month_2)
    print('其中3月兔:',month_3)
    print('其中成年兔:',month_elder)
Tags:python,實例,程序入門  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊。 昵稱:注冊  登錄
[ 查看全部 ] 網友評論
關於我們 - 聯係我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁麵
下到頁底
晶體管查詢