簡體   English   中英

在 Python 3.x 中使用 while 循環語句進行除法、計數和乘法

[英]Using the while loop statement to divide, count, and multiply in Python 3.x

我對 Python (3.x) 還是個新手,我被賦予了 E.coli 細菌的這項任務。

以下是我從任務中列出的要點:

• 大腸桿菌數量每 20 分鍾翻一番

• 用戶輸入目標細菌數,並告知將單個大腸桿菌分解為目標細菌數所需的時間,精確到 20 分鍾

• 程序必須使用while循環

• 程序應拒絕非數字輸入或超過 130,000 的目標數字

因此,我說得對嗎... Targetnumber / 2,每次減半計數,直到數字變為 1,計數次數 * 20 分鍾

到目前為止,在我的代碼中,我有用戶輸入的目標數字(低於 130,000)並驗證它是否不是數字:

while True:
    try:
        targetnumber = int(input('Enter the target number of E.coli under 130000: '))
        if 130000 >= targetnumber:
            break
    except ValueError:
        print("Please enter a numerical target number input under 130000.")
        continue
    else:
        print("Target number must be under 130000.")

但是,我發現很難在我的代碼中使用while循環實現 targetnumber / 2, count 每次減半直到 number 變為 1, number of count * 20 mins 。

如果您能提供幫助和 ELI5,將不勝感激。 非常感謝

不是將目標細菌數除以 2,您可以使用初始值為 1 的變量,然后繼續乘以 2,直到它等於或大於目標細菌。

target_limit = 130000

while True:
    try:
        target_number = int(input('Enter the target number of E.coli: '))
        if target_number > target_limit:
            print('Target E.coli must be under ' + str(target_limit))
        else:
            break
    except ValueError:
        print('Enter a numeric input')

n_bact = 1
time_elapsed = 0

while n_bact < target_number:
    n_bact *= 2
    time_elapsed += 20

print(time_elapsed)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM