Python_04_tigao_honework

1. 求斐波那契數(shù)列中第n個數(shù)的值:(0),1,1,2,3,5,8,13,21,34, 55...

規(guī)律: 從第三個數(shù)開始,后面每個數(shù)結(jié)果都是前兩個數(shù)的和
n = 10     # 表示最終要求第幾個數(shù)的值
# n1 + n2 = current
n1 = 0     
n2 = 1
current = 1
# 從第2個數(shù)開始求, x表示當(dāng)前是第幾個數(shù)
for x in range(2, n+1):
    # 根據(jù)前兩個數(shù)的值,計算出當(dāng)前值
    current = n1 + n2
    # 挪一次, 為了下次循環(huán)的時候求下一個值
    n1 = n2
    n2 = current

print(current)  

2. 判斷101-200之間有多少個素數(shù),并輸出所有素數(shù)。

什么是素數(shù)(質(zhì)數(shù)): 除了1和它本身,不能被其他的數(shù)整除,這種數(shù)就是素數(shù)
先將101-200之間所有的整除,一個一個的取出來

方法一:

count = 0
for num in range(101, 201):
    # 判斷是否是素數(shù)
    # x的范圍是2~num1
    for x in range(2, num):
        if num % x == 0:
            # print(num, '不是素數(shù)')
    # 只要在2~num-1之間找到一個能被num整除的數(shù),就說明num不是素數(shù)
            break
    else:
        count += 1
        print(num, '是素數(shù)')

print('101-200之間素數(shù)有:',count)

方法二:

for num in range(101, 201):
    isprime = True    # 取一個數(shù)就假設(shè)這個數(shù)是素數(shù)
    for x in range(2, num):
        if num % x == 0:
            isprime = False     # 當(dāng)在2~num-1之間找到了一個能夠被num整除的數(shù),就說明假設(shè)不成立
            break

    # 循環(huán)結(jié)束再判斷之前的假設(shè)是否成立
    if isprime == True:
        print(num,'是素數(shù)')   

3. 打印出所有的?水仙花數(shù),所謂?水仙花數(shù)是指一個三位數(shù),其各位數(shù)字?立?方和等于該數(shù)本身。例例如:153是

# 一個?水仙花數(shù),因?yàn)? 153 = 1^3 + 5^3 + 3^3  
for num in  range(100, 1000):
    ge_wei = num % 10  
    shi_wei = num // 10 % 10
    bai_wei = num // 100
    if ge_wei ** 3 + shi_wei ** 3 + bai_wei ** 3 == num:
        print(num)

#4. 有?一分?jǐn)?shù)序列列:(1/1),2/1,3/2,5/3,8/5,13/8,21/13...求出這個數(shù)列列的第20個分?jǐn)?shù)

后面的分?jǐn)?shù)的分母 == 前一個分?jǐn)?shù)的分子 后面的分?jǐn)?shù)的分子 = 前一個分?jǐn)?shù)的分母 + 分子
fen_zi = 1
fen_mu = 1
for x in range(1, 10+1):
    temp = fen_zi
    fen_zi = fen_mu + fen_zi
    fen_mu = temp
    fen_zi, fen_mu = fen_mu + fen_zi, fen_zi

print(fen_zi, '/', fen_mu)

5.給?一個正整數(shù),要求:1、求它是?幾位數(shù) 2.逆序打印出各位數(shù)字

# 234   23  2  0
# 1234  123  12   1  0 
# 規(guī)律: 一個整數(shù)是幾位數(shù),就看這個數(shù)整除10,除幾次后會變成0
num = int(input('請輸入一個整數(shù):'))
num2 = num
length = 0
while True:
    num //= 10
    length += 1
    if num == 0:
        break
print(length)

# 1234   4(123)  3(12)  2(1)  1(0)
for _ in range(length):
    print(num2%10,end='')
    num2 //= 10

print()

方法二

num=12345
num2=num
cont=0
for _ in range(100):
    num //= 10
    cont+=1
    if num==0:
        print(cont)     
        break

for _ in range(cont):
    print(num2%10,end='')
    num2 //= 10
print()

#while 循環(huán):
while True:
    print(num2%10, end='')
    num2//=10
    if num2<1:
        break
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第一章數(shù)和數(shù)的運(yùn)算 一概念 (一)整數(shù) 1整數(shù)的意義 自然數(shù)和0都是整數(shù)。 2自然數(shù) 我們在數(shù)物體的時候,用來表示...
    meychang閱讀 2,844評論 0 5
  • 8月22日-----字符串相關(guān) 2-3 個性化消息: 將用戶的姓名存到一個變量中,并向該用戶顯示一條消息。顯示的消...
    future_d180閱讀 1,033評論 0 1
  • 小學(xué)奧數(shù)其實(shí)很簡單,以下是這六個部分的知識點(diǎn)! 1 第一部分(知識點(diǎn)1-6) 2、年齡問題的三個基本特征: ①兩個...
    小一哥閱讀 1,430評論 0 3
  • 1.美妞上午把自己房間收拾得干干凈凈,書籍分類擺放。 妞:老媽,你趕緊來看看,你一定會“哇”! 我:“哇哇哇哇哇哇...
    E姐小酒窩閱讀 200評論 0 2
  • 玉妝粉帶沉默了白天黑夜 燃燒的火焰中青銅墜地 尖刀刺破洪水滔天冉冉 在鼾聲中埋葬冬天 在堅(jiān)硬的空氣中殘喘 黃白交接...
    傘曬閱讀 302評論 0 2

友情鏈接更多精彩內(nèi)容