Python3入門經典案例,不埋坑不踩雷.小白也可上手實操(附代碼)

希望通過這幾道例題,讓你能對python3的基礎代碼能力有一定的掌握。

Python3入門經典案例,不埋坑不踩雷.小白也可上手實操(附代碼)

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

<code>sum=0for i in range(1,5):   
for j in range(1,5):
for k in range(1,5):
if i!=j and j!=k and i!=k:
print(i,j,k)
sum+=1print("共",sum,"種")/<code>

思考與分析:for的嵌套循環使用,看一遍,仿寫一遍之後,自己就可以手寫了。

例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,求應發放獎金總數?

<code># coding=utf-8i=int(input("輸入你的淨利潤:"))
a=[100,60,40,20,10,0]b=[0.01,0.015,0.03,0.05,0.075,0.1]r=0for c in range(0,6):
if i>a[c]:
r+=(i-a[c])*b[c]
print('區間提成:',(i-a[c])*b[c])
i=a[c]print("您的總提成為",r,"萬元")/<code>

例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。

<code>for i in range(1,85):    if 168%i==0: 
j=168/i
if i>j and (i+j)%2==0:#有的地方會把(i-j)%2==0寫上,是可以省略的。

n=(i-j)/2
x=n*n-100
print(x)/<code>

思考與分析:這裡就用到了數學思維,需要去分析怎樣求解並求得最優解,當然也可以思考把代碼更簡單化。

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

分析過程:將小於當月的月份日期累加再加上當月的日期即可得到結果。

思路:一種方法是寫一個字典,通過字典來獲取每個月的天數。

<code>dic = {1:31,2:28,3:31,4:30,5:31,6:30,7:31,8:31,9:30,10:31,11:30,12:31}
#用字典的方式來對應月份和天數最合適不過了,不用考慮位置的問題。
x = int(input('請輸入月份:',))y = int(input('請輸入日期:',)
)r=0if x in range(1,13) and y in range(1,dic[x]): for i in range(1, 13):
if i/<code>

例5:題目:任意輸入三個整數x,y,z,請把這三個數由小到大輸出。

分析:將輸入的數字放置到列表或者元組中,執行排序即可。

代碼方法1:

<code>a=[]for i in range(3):    x=int(input("請輸入數字:"))  
a.append(x)a.sort()print(a[0],a[1],a[-1])/<code>

分析思路:既然是給三個數排序,那麼肯定要用到sort方法,用append和for循環結合,追加列表中的元素。

代碼二:

<code>x=int(input('請輸入第一個數字:',)) 
y=int(input('請輸入第二個數字:',))
z=int(input('請輸入第三個數字:',))
a=[x,y,z] a.sort() print (a[0],a[1],a[2]) /<code>

分析思路:當多個元素排序的話,需要寫的代碼量就多了,所以這就體現了for循環的作用。

倒序循環:

<code>r=[ ]  for i  in range(3): 
x=int(input('請輸入整數:\\n'),)
r.append(x)

r.sort(reverse=1)
print ('\\n',r[0],'\\n',r[1],'\\n',r[2]) /<code>

例6:斐波那契數列指的是從0,1開始,第三項為前兩項之和。

即:F0=0,F1=1,Fn=F[n-1]+F[n-2] (n>=2)

<code>def fib(n):    if n == 1 or n == 2: 
return 1
elif n==0:return 0
return fib(n - 1) + fib(n - 2)print (fib(10))/<code>

或:

<code>def fib(n):    a, b = 0, 1    for i in range(n):   
a, b = b, a + b return aprint(fib(10))/<code>

或:

<code>def fib(n):    if n<1:     
return None if n==1:
return [1] if n==2:
return [1,1]
else:
fibs=[1,1]
for i in range(2,n):
fibs.append(fibs[-1]+fibs[-2])
return fibsprint(fib(0))/<code>

例7:把列表a中的元素複製到b:

<code>a = [1,2,3,4,5,6,7,8,9]b = a[:]print(b)a=[1,2,3]b=a.copy()print(b)
l = [1,2,3,4,5]p = []for i in range(len(l)):
p.append(l[i])print (p)/<code>

開拓思維:還有好多種方法

例8:輸出99乘法表

<code>for i in range(1,10):    for j in range(1,10):  
print(j, "x", i, "=", i * j,"\\t",end="")
if i==j: print("")
break/<code>

例9:古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?

<code>a = 1b = 1for i in range(1,21,2):  
#步長為2,直接輸出a和b的值。
print '%d %d'%(a,b), a += b b += a/<code>

例10:求1000以內水仙花數, 即一個三位數等於各位的三次方之和。

<code>for n in range(100,1000): 
i = n//100 j = n//10 % 10
k = n % 10 if n == i ** 3 + j ** 3 + k ** 3:
print (n)/<code>

最後小編幫助大家整理了一套python教程,下面展示了部分,希望也能幫助對編程感興趣,想做數據分析,人工智能、爬蟲或者希望從事編程開發的小夥伴,畢竟python工資也還可以,如果能幫到你請點贊、點贊、點贊。

Python3入門經典案例,不埋坑不踩雷.小白也可上手實操(附代碼)

Python3入門經典案例,不埋坑不踩雷.小白也可上手實操(附代碼)

Python3入門經典案例,不埋坑不踩雷.小白也可上手實操(附代碼)

Python3入門經典案例,不埋坑不踩雷.小白也可上手實操(附代碼)

Python3入門經典案例,不埋坑不踩雷.小白也可上手實操(附代碼)

如果你喜歡python,並覺得這篇文章對你有益的話,麻煩多多點贊關注支持!!!!


分享到:


相關文章: