第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

布爾值 True 或 False 在不使用任何內(nèi)置函數(shù)的情況下在給定整數(shù)中找到兩個連續(xù)數(shù)字

布爾值 True 或 False 在不使用任何內(nèi)置函數(shù)的情況下在給定整數(shù)中找到兩個連續(xù)數(shù)字

寶慕林4294392 2023-06-20 14:44:07
要在給定整數(shù)(N)中找到兩個連續(xù)的數(shù)字(D)而不使用任何內(nèi)置函數(shù)并返回 True 或 False,以下代碼似乎在遇到一個 D 時退出,但是如果有兩個 D 則它可以工作。為什么它不能正常工作以及如何解決?謝謝!def double_digits(n, d):    """Return True if N has two Ds in a row otherwise return False.    int, int -> Boolean    >>> double_digits(91019, 1)    False    >>> double_digits(88, 8)    True    >>> double_digits(2772, 7)    True    >>> double_digits(88108, 0)    False    >>> double_digits(12345, 4)    False    >>> double_digits(81811081, 1)    True    """    while n > 0:        remainder = n % 10        n = n // 10        if remainder == d:            if n % 10 == d:                return True            else:                remainder, n = n % 10, n // 10    return False
查看完整描述

2 回答

?
神不在的星期二

TA貢獻(xiàn)1963條經(jīng)驗 獲得超6個贊

最后一個 return 語句應(yīng)該在循環(huán)之外。下面是正確的代碼:


   def double_digits(n, d): 

    while n > 0:

        remainder = n % 10

        n = n // 10

        if remainder == d:

            if n % 10 == d:

                return True

            else:

                remainder, n = n % 10, n // 10

    return False


查看完整回答
反對 回復(fù) 2023-06-20
?
FFIVE

TA貢獻(xiàn)1797條經(jīng)驗 獲得超6個贊

您必須取消縮進(jìn)最后一個語句:return False,左邊 4 個空格。那一定對你有幫助。

或者,您可以將輸入轉(zhuǎn)換為字符串,然后字符匹配就很容易了。


def double_digits(n: int, d: int)->bool:

    n = str(n)

    d = str(d)

    i = 0

    while i < len(n)-1:

        if n[i] == d and n[i+1] == d:

            return True

        i+=1

    return False

在這里,我使用了一些內(nèi)置函數(shù),例如lenand str,但是如果您明確

想避免使用它們,只需使用您原來的方法并只取消縮進(jìn) return 語句一次


查看完整回答
反對 回復(fù) 2023-06-20
  • 2 回答
  • 0 關(guān)注
  • 160 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號