日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python3算法基础练习:编程100例(1~5)

發布時間:2025/3/20 python 12 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python3算法基础练习:编程100例(1~5) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python3基礎練習:編程100例(1~5)

    • 1、無重復數字
    • 2、發放獎金
    • 3、完全平方數
    • 4、判斷這一天是這一年的第幾天?
    • 5、三個數從小到大輸出

1、無重復數字

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

分析:多層遍歷

代碼

total=0 for i in range(1,5):for j in range(1,5):for k in range(1,5):if( i != k ) and (i != j) and (j != k):total = total + 1print (i,j,k)print('一共'+str(total)+'種')

結果

1 2 3 1 2 4 1 3 2 1 3 4 1 4 2 1 4 3 2 1 3 2 1 4 2 3 1 2 3 4 2 4 1 2 4 3 3 1 2 3 1 4 3 2 1 3 2 4 3 4 1 3 4 2 4 1 2 4 1 3 4 2 1 4 2 3 4 3 1 4 3 2 一共24

2、發放獎金

題目
企業發放的獎金根據利潤提成。利潤(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,求應發放獎金總數?

代碼

i = int(input('凈利潤:')) arr = [1000000,600000,400000,200000,100000,0] rat = [0.01,0.015,0.03,0.05,0.075,0.1] r = 0 for idx in range(0,6):if i>arr[idx]:r+=(i-arr[idx])*rat[idx]print ((i-arr[idx])*rat[idx])i=arr[idx] print (r)

結果

凈利潤:160000 4500.0 10000.0 14500.0

3、完全平方數

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

分析

這是一道數學題!

假設該數為 x。
1、則:x + 100 = n2, x + 100 + 168 = m2
2、計算等式:m2 - n2 = (m + n)(m - n) = 168
3、設置: m + n = i,m - n = j,i * j =168,i 和 j 至少一個是偶數
4、可得: m = (i + j) / 2, n = (i - j) / 2,i 和 j 要么都是偶數,要么都是奇數。
5、從 3 和 4 推導可知道,i 與 j 均是大于等于 2 的偶數。
6、由于 i * j = 168, j>=2,則 1 < i < 168 / 2 + 1。
7、接下來將 i 的所有數字循環計算即可。

代碼

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 : # n = (i- j) / 2 所以 i > jm = (i + j) / 2n = (i - j) / 2x = n * n - 100print(x)

結果

-99 21 261 1581

4、判斷這一天是這一年的第幾天?

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

分析:以2021年4月28日為例,應該先把前兩個月的加起來,然后再加上5天即本年的第幾天,特殊情況,閏年且輸入月份大于2時需考慮多加一天

代碼:

year = 2021 month = 4 day = 28months = (0,31,59,90,120,151,181,212,243,273,304,334) if 0 < month <= 12:sum = months[month - 1] else:print ('data error') sum += day # 閏年 if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)) and (month > 2):sum += 1 print ('it is the %dth day.' % sum)

結果:it is the 118th day.

5、三個數從小到大輸出

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

代碼

nums = [] for i in range(3):x = int(input('num:\n'))nums .append(x) nums.sort() print (nums )

結果:輸入 5 10 3;輸出 3 5 10

總結

以上是生活随笔為你收集整理的Python3算法基础练习:编程100例(1~5)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。