前提・実現したいこと
コラッツ予想(任意の正の整数に対して、偶数の場合は2で割る、奇数の場合は3倍して1を足す、という操作を繰り返すと、最終的に必ず1になる)を計算するためのコードを見よう見まねで書いてみました。
計算する数値を入力して計算するところまではできたのですが、入力した数値の計算が終了したら入力された数値に1を足していって自動的に計算出来るようにしたいのですが、書き方がわかりません。(forを使うようなのですがその書き方が分かりません)
どうかご回答お願い致します。
現在のソースコード
python
1def collatz(number): 2 if number % 2 == 0: 3 return int(number /2) 4 elif number % 2 == 1: 5 return int(3 * number + 1) 6 7 8while True: 9 try: 10 print('計算する値を入力してください') 11 number = int(input()) 12 num1 = 0 13 break 14 except ValueError: 15 print('---ERROR---整数を入力してください') 16 17while collatz(number) !=0: 18 collatz(number) 19 number = collatz(number) 20 num1 = num1 + 1 21 print(int(number)) 22 if number == 1: 23 print(str(num1) + '回計算したら1になりました') 24 break
補足情報
Python3.9
無限にやるのですか、それともどこかで終わるのですか?
無限に実行したいです
回答2件
あなたの回答
tips
プレビュー