Python編程練習題學習匯總



實例一:數學計算

簡述:這里有四個數字,分別是:1、2、3、4
提問:能組成多少個互不相同且無重復數字的三位數?各是多少?

Python解題思路分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列后再去 掉不滿足條件的排列。(for循環)

代碼實現:

 1 list = []   #定義一個空的列表用來存儲生產的數字
 2 for i in range(1,5):   #定義百位數
 3     for j in range(1,5):   #定義十位數
 4         for k in range(1,5):  #定義個位數
 5             if i != j and j !=k and i != k:
 6                 num = i*100+j*10+k     
 7                 print(num)
 8                 list.append(num)   #將生成的數字加入到list列表中
 9                 result_num = len(list)   #統計列表中元素的個數
10 print("可以組合的個數為%d"%(result_num))
實例1

實例二:關於數軸和長整型數據類型的練習

簡述:企業發放的獎金根據利潤提成。利潤(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%提成.

提問:從鍵盤輸入當月利潤I,求應發放獎金總數?

Python解題思路分析:請利用數軸來分界及定位。並要注意定義時需要把獎金定義成長整型的數據類型。

代碼實現:

 1 profit = int(input("請輸入您的凈利潤:"))
 2 arr = [1000000,600000,400000,200000,100000,0]
 3 Money_rate = [0.01,0.015,0.03,0.05,0.075,0.1]
 4 bonus = 0
 5 for i in range(0,6):  
 6     if profit > arr[i]:    #判斷凈利潤的范圍
 7         bonus += (profit-arr[i])*Money_rate[i]   #獎金的計算
 8         print((profit-arr[i])*Money_rate[i])
 9         profit = arr[i]   #重新復制凈利潤,進行低階段判斷
10 print(bonus)
View Code

實例三:平方數的操作練習

簡述:一個整數,它加上100和加上268后都是一個完全平方數
提問:請問該數是多少?
Python解題思路分析:在10000以內判斷,將該數加上100后再開方,加上268后再開方,如果開方后的結果滿足如下條件,即是結果。
說明:sqrt() 方法返回數字x的平方根,sqrt()是不能直接訪問的,需要導入 math 模塊,通過靜態對象調用該方法

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)
View Code

實例四:日期計算,編程練習

簡述:要求輸入某年某月某日
提問:求判斷輸入日期是當年中的第幾天?
Python解題思路分析:我們就以3月5日這一天為例。首先把前兩個月的加起來,然后再加上5天即本年的第幾天。這里有一種特殊的情況,就是閏月,遇到
這種情況且輸入月份大於2時需考慮多加一天。如果不是很明白,可以看下邊的python源碼。

year = int(input("請輸入年份:"))
month = int(input("請輸入月份:"))
day = int(input("請輸入天:"))
months = (0,31,59,90,120,151,181,212,243,273,304,334)  #按月份統計該月份前的天數
if 0 < month <= 12:
    sum = months[month-1]
else:
    print("日期輸入錯誤!")
sum += day
a = 0 #定義一個中間變量
if (year % 400 == 0) or (( year % 4 == 0 ) and ( year % 100 != 0)):  #判斷年份是否是閏年
    a = 1
if (a == 1) and ( month > 2):
    sum += 1
print("今天是第%s天"%sum)
View Code

 

持續更新中……


參考:http://www.iplaypy.com/python-100/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM