Python3算法基础练习:编程100例(11 ~ 15)
生活随笔
收集整理的這篇文章主要介紹了
Python3算法基础练习:编程100例(11 ~ 15)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
往期練習:
Python3算法基礎練習:編程100例(1~5)
Python3算法基礎練習:編程100例(6 ~ 10)
Python3算法基礎練習:編程100例(11 ~ 15)
- 11.兔子問題
- 12.判斷素數
- 13.水仙花數
- 14.正整數分解質因數
- 15.成績區分(條件運算符)
11.兔子問題
題目:
有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?
分析:1,1,2,3,5,8,13,21… 找規律
代碼:
f1 = 1 f2 = 1 for i in range(1,19):print ('%12ld %12ld' % (f1,f2), end=" ")if (i % 3) == 0:print ('')f1 = f1 + f2f2 = f1 + f2結果:
12.判斷素數
題目:判斷101-200之間有多少個素數,并輸出所有素數。
分析:判斷是不是素數,用這個數 除以 2 到 sqrt(這個數),都不能整除 才是素數
代碼:
total = 0 leap = 1 from math import sqrt for m in range(101,201):k = int(sqrt(m + 1))for i in range(2,k + 1):if m % i == 0:leap = 0breakif leap == 1:print ('%-4d' % m)total += 1leap = 1 print ('一共%d個' % total)結果:
13.水仙花數
題目:打印出所有的"水仙花數",所謂"水仙花數"是指一個三位數,其各位數字立方和等于該數本身。例如:153是一個"水仙花數",因為153=1的三次方+5的三次方+3的三次方。
分析:暴力解法,三位數的每一位都分析
代碼:
for n in range(100,1000):i = n // 100j = n // 10 % 10k = n % 10if n == i*i*i + j*j*j + k*k*k:print(n)結果:
14.正整數分解質因數
題目:給定一個正整數,將給定的正整數分解質因數;
例如:90=2 x 3 x 3 x 5
分析& 代碼:
參考:https://blog.csdn.net/qq_35531549/article/details/84889913
# 給定一個正整數,將給定的正整數分解質因數; # 例如:輸入90,打印出90=2*3*3*5。n = int(input('請輸入需要分解的正整數:'))# 列表存放 質因數 lt = [] m = n while n > 1:for i in range(2,n+1):if n%i==0:# n 替換一下分解后的新值n = n//i# 存放 質因數lt.append(str(i))breakif len(lt) == 1:print(m,'=',m) else:s = '×'.join(lt)print(m,'=',s)結果:
15.成績區分(條件運算符)
題目:利用條件運算符的嵌套來完成此題:學習成績>=90分的同學用A表示,60-89分之間的用B表示,60分以下的用C表示。
分析:這題就很簡單了,就是一個條件區分就OK了
代碼:
# 利用條件運算符的嵌套來完成此題: # 學習成績>=90分的同學用A表示, # 60-89分之間的用B表示, # 60分以下的用C表示。score = int(input('輸入分數:\n')) if score >= 90:grade = 'A' elif score >= 60:grade = 'B' else:grade = 'C'print('%d 屬于 %s' % (score, grade))結果:
總結
以上是生活随笔為你收集整理的Python3算法基础练习:编程100例(11 ~ 15)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python3 环境搭建、pycharm
- 下一篇: python编程实战(二):一文教你生成