[英]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.