최근 Python 3.0을 사용하여 Collatz 추측의 분사를 시도했습니다. 이 프로그램은 양의 정수로 작동하지만 음의 정수에서는 작동하지 않습니다. 프로그램에서 나는 숫자가 음수인지 확인하고, 그렇다면 그것을 사각형으로 만들고, collatz 규칙을 따라 진행합니다. Unfortuanitly 그것은 오류 메시지를 제공합니다. 아래 코드 :Python 추측
import sys
while True:
number = input("Enter any positive integer: ")
count = 0
negative = "-"
try:
int(number)
except ValueError:
print("Invalid Input...")
sys.exit(0)
else:
number = int(number)
ORIGINAL = number
while not number != 1:
count += 1
number ** 2
if number % 2:
number = 3*number+1
elif not number % 2:
number = number // 2
print(number)
while number != 1:
count += 1
if number % 2:
number = 3*number+1
elif not number % 2:
number = number // 2
print(number)
print("The number "+str(ORIGINAL)+" took "+str(count)+" calculations to reach 1")
내 코드를 사용해 보시고, 파이썬 3과 sys 만 사용하십시오!
- 두꺼운!
"작동하지 않을 것"보다 자세한 문제 설명을 제공해야합니다. 당신은 무엇을 기대 했습니까? 실제로 어떤 일이 일어 났습니까? 또한,이 코드 중 어느 것도 부정성을 검사하지 않으며, 'number가 아님! = 1 :'로 무엇을하려했는지 잘못 판단했습니다. – user2357112
괜찮습니다. "while number! = 1 : – tcwissemann
도 -1을 -2, -1, -2, -1로 입력하면 결과가 무한대가됩니다. 그것은 네거티브를 squar하지 않습니다. – tcwissemann