-1

当没有\nafter时,为什么输出会在结果上强制换行print (message_2.capitalize())

# 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!
4

3 回答 3

1

print(),默认情况下,将添加一个换行符。所以这两种说法:

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

将在消息和数字之间添加一个换行符。

要么传入两个对象以打印到一个 print()调用:

print(message_2.capitalize(), input_num)

或通过将参数设置为空字符串来告诉print()不要添加换行符:end

print(message_2.capitalize(), end='')
print(input_num)
于 2017-01-24T08:00:49.710 回答
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))

所以关键是使用逗号操作数或对答案进行字符串运算符。

于 2017-01-24T08:20:22.170 回答
0

Pythonprint()函数的默认行为是在输入字符串之后打印一个换行符。

您可以通过添加可选参数来更改此行为end

print("My message", end="")
于 2017-01-24T08:02:00.807 回答