![](/img/trans.png)
[英]I'm really new to Python, and I was wondering why my “Else:” isn't working
[英]I am new to python and I am wondering why this while loop isn't working
它旨在找到一個數字的所有因素,有人可以幫助我嗎? 它給我的錯誤是它不能被零除,但到那時它不應該這樣做。
factored = False
number_s = input("What is the number\n")
number = (int(number_s))
while factored == False:
factor_number = number
factored_number = number / factor_number
if factored_number == 0:
break
decimal = isinstance(factored_number, int)
if decimal == False and factored_number <= number:
print(factored_number)
number = factored_number - 1
else:
pass
if factored_number == number:
break
在執行操作之前,您必須檢查數字是否為零。 例如
factored = False
number_s = input("What is the number\n")
number = (int(number_s))
while factored == False:
factor_number = number
#notice we are checking the user's number is == 0 before we even divide it.
if factor_number == 0:
break
factored_number = number / factor_number
decimal = isinstance(factored_number, int)
if decimal == False and factored_number <= number:
print(factored_number)
number = factored_number - 1
else:
pass
if factored_number == number:
break
我也希望你知道有更簡單的方法可以做到這一點。 例如,使用模運算%
。 這是一個使用它的實現。
x = 10
for i in range(1, x + 1):
if x % i == 0:
print(i)
output
1
2
5
10
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.