2017-01-24 5 views
-1

print (message_2.capitalize())の後に出力が\nでない場合に結果に新しい行を強制するのはなぜですか?メソッドが大文字にされた後に予期しない改行が発生する

# Input example python script 
# Apparently in python 3.6, inputs can take strings instead of only raw values back in v2.7 

message_0 = "good morning!" 
message_1 = "please enter something for my input() value:" 
message_2 = "the number you entered is ... " 
message_3 = "ok, now this time enter value for my raw_input() value:" 
message_final1 = "program ended." 
message_final2 = "thank you!" 

print ("\n\n") 
print (message_0.capitalize() + "\n") 
input_num = input(message_1.capitalize()) 
print ("\n") 

# This line is obsoleted in python 3.6. raw_input() is renamed to input() . 
# raw_input_num = raw_input(message_3.capitalize()) 


# data conversion 

print ("Converting input_num() variable to float...\n") 
input_num = float(input_num) 


print ("\n") 
print (message_2.capitalize()) 
print (input_num) 


print ("\n") 
print (message_final1.capitalize() + " " + message_final2.capitalize()) 

次のように出力されている:

Good morning! 

Please enter something for my input() value:67.3 


Converting input_num() variable to float... 

The number you entered is ... 
67.3 


Program ended. Thank you! 

答えて

1

print()、デフォルトでは、改行を追加します。したがって、2つのステートメント:

print (message_2.capitalize()) 
print (input_num) 

は、メッセージと番号の間に改行を入れます。

print(message_2.capitalize(), input_num) 

または空の文字列にend引数を設定することで、改行を追加しないprint()を教えて:

print(message_2.capitalize(), end='') 
print(input_num) 
0

どちらか print()コールに印刷するには、両方のオブジェクトを渡しますPythonのprint()関数のデフォルトの動作は、入力文字列に続く改行を出力することです。

あなたはオプションのパラメータend追加することによって、この動作を変更することができます:私は周りに私の友人に尋ねた、とだけではなく、私は答えを共有することで、このサイトに値を追加すると思った私の質問を削除しました

print("My message", end="") 
0

を:

# , operator here removes an unexpected newline. the print statement has a built in newline. That's why! 
print (message_2.capitalize(),(input_num),"\n") 

# Alternative way to display the answer 
print (message_2.capitalize() + " " + str(input_num)) 

したがって、キーはカンマオペランドを使用するか、答えに文字列演算子を使用することです。

関連する問題