現在、本からPythonを学びたいと思っています。問題が発生しています。基本的に私はCollatzシーケンスと呼ばれるものを実行するプログラムを書くことになっています。コードは以下の通りである:Pythonでstrをintに変換する
print("Please enter a number")
number = input()
int(number)
while number > 1:
collatz()
def collatz(number):
if number % 2 == 0:
number = number // 2
print(number)
return number
else:
number = 3 * number + 1
print(number)
return number
だから私は上記のコードを実行しようとすると、私は次の出力を得る:それがあるべきとき
明らかRESTART: C:/Users/Gillian/AppData/Local/Programs/Python/Python35-32/Collatz.py
Please enter a number
12
Traceback (most recent call last): File "C:/Users/Gillian/AppData/Local/Programs/Python/Python35-32/Collatz.py", line 6, in
while number > 1:
TypeError: unorderable types: str() > int() Blockquote
、私の変数は文字列として読み込まれています整数。私の質問は - なぜですか?私は、行番号4のデータ型をintに変更する部分は修正するべきだと思っていましたが、修正していませんでした。
私の質問に関係する場合、私が達成しようとしていることのための指示は、hereページの下部にあります。
あなたは 'int(number)'の結果を何にも割り当てていません。 'number = int(number)'を考えてみましょう。 – larsks
素晴らしいです、ありがとうございます。 –