Python代码执行疑问:为何未先输出"Hello"?
为什么Python代码里先显示输入提示而非"Hello"?
这是因为Python会先计算函数的所有参数,再执行函数本身。
看你的代码:
print("Hello " + input("What is Your name?")+ "!")
print函数要输出的是一个拼接后的完整字符串,这个字符串由"Hello "、input(...)的返回值、"!"三部分组成。Python必须先把这三部分都计算出来,才能得到最终要打印的内容,再传给print执行输出。而input("What is Your name?")在被调用时,会立刻显示提示语并等待用户输入,这一步发生在print输出任何内容之前。
如果你想先输出"Hello"再请求输入,需要把操作拆分开:
# 方式一:不换行输出Hello,接着显示输入提示 print("Hello", end=" ") name = input("What is Your name?") print(name + "!")
# 方式二:先单独输出Hello,再获取输入并打印完整内容 print("Hello") name = input("What is Your name?") print(f"Hello {name}!")
内容的提问来源于stack exchange,提问作者Ragaey M.Ragaa
相关产品推荐
相关产品推荐

