带有if语句的Python初学者问题

时间:2019-06-17 18:53:16

标签: python-3.7

提前道歉,因为这可能很愚蠢。

基本上,我只是想弄清楚如何使用输入(我对编码非常陌生),并且在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, ". ")

目前,代码似乎无法识别名称;我定义了名称,因为当我只使用x时,它不起作用。我假设代码无法识别它,因为if语句本质上是处于真空状态之内,但是我将如何解决呢?我希望能够回拨之前在对话中发生的细节,以使其更有趣。

1 个答案:

答案 0 :(得分:1)

您无法使用input()语句执行此操作-它仅适用于print()。因此print()可以接受任意数量的个字符串作为参数,但是input()只能接受一个(并且在python的最新版本中,如果尝试给它赋一个错误不止一个-当我尝试自己运行代码时,我得到了TypeError)。

如果要在name的文本中包含input(),则需要 concatenate

input("I think you're being rather terse " + name + ". ")

或使用格式字符串将其插入:

input(f"I think you're being rather terse {name}. ")