初学者 Python if 语句的问题
Beginner Python problem with if statement
提前致歉,因为这可能相当愚蠢。
基本上我只是想弄清楚如何处理输入(我对编码还很陌生),我在 if 语句中遇到了一个问题。
x=input("What is your name? ")
name=x
print("Hello,", name, "nice to meet you")
y=input("Would you like me to close now? (yes/no) ")
listx=["no","No","NO","nO"]
for response in listx:
if response == y:
input("Why? ")
input("I think you're being rather terse", name, ". ")
input("No, you. ")
input("So that's how it's going to be? ")
input("Well I'm closing anyway. ")
input("Bye then. ")
我只是觉得它会带我完成这个有趣的小交流,随着时间的推移我可以自定义响应,但此时有一个问题:
input("I think you're being rather terse", name, ". ")
此时代码似乎无法识别名称;我定义了 name 是因为当我刚刚使用 x 时它也不起作用。我假设代码无法识别它,因为 if 语句本质上是在真空之类的东西中,但我将如何解决这个问题呢?我希望能够回拨之前在对话中发生的细节,以使其更有趣。
你不能用 input()
语句来做到这一点——它只适用于 print()
。所以 print()
可以接受 任意数量 的字符串作为参数,但是 input()
只会接受一个(并且在 python 的最新版本中会引发一个如果你尝试给它一个以上的错误 - 当我尝试 运行 你自己的代码时,我得到了一个 TypeError
).
如果您想在 input()
的文本中包含 name
,您需要 concatenate 它:
input("I think you're being rather terse " + name + ". ")
或使用格式字符串插入:
input(f"I think you're being rather terse {name}. ")
提前致歉,因为这可能相当愚蠢。
基本上我只是想弄清楚如何处理输入(我对编码还很陌生),我在 if 语句中遇到了一个问题。
x=input("What is your name? ")
name=x
print("Hello,", name, "nice to meet you")
y=input("Would you like me to close now? (yes/no) ")
listx=["no","No","NO","nO"]
for response in listx:
if response == y:
input("Why? ")
input("I think you're being rather terse", name, ". ")
input("No, you. ")
input("So that's how it's going to be? ")
input("Well I'm closing anyway. ")
input("Bye then. ")
我只是觉得它会带我完成这个有趣的小交流,随着时间的推移我可以自定义响应,但此时有一个问题:
input("I think you're being rather terse", name, ". ")
此时代码似乎无法识别名称;我定义了 name 是因为当我刚刚使用 x 时它也不起作用。我假设代码无法识别它,因为 if 语句本质上是在真空之类的东西中,但我将如何解决这个问题呢?我希望能够回拨之前在对话中发生的细节,以使其更有趣。
你不能用 input()
语句来做到这一点——它只适用于 print()
。所以 print()
可以接受 任意数量 的字符串作为参数,但是 input()
只会接受一个(并且在 python 的最新版本中会引发一个如果你尝试给它一个以上的错误 - 当我尝试 运行 你自己的代码时,我得到了一个 TypeError
).
如果您想在 input()
的文本中包含 name
,您需要 concatenate 它:
input("I think you're being rather terse " + name + ". ")
或使用格式字符串插入:
input(f"I think you're being rather terse {name}. ")