原始输入未按预期工作是否缺少模块?

2024-04-25 17:20:35 发布

您现在位置:Python中文网/ 问答频道 /正文

恐怕是个很基本的问题! 我是一个Python新手,刚刚开始。我已经尝试了几种方法让下面的工作,现在我想知道是否有一个模块,我需要导入获得原始输入工作?我使用的是python2.7.10。 如果用户输入是Jane,我想打印“Jane is awesome”,对于所有其他用户输入,打印name+“is not awesome”。但它总是打印名字+“不可怕”,甚至当我进入简。你知道吗

(一)

while True:
    name = raw_input("What is your name?")
    if name == "Jane":
        print name + " is awesome"
        break
    else:
        print name + " is not awesome"

(二)

endprogram = 0
while endprogram != 1:
    name = raw_input ("What is your name?")
    while name != "Jane":
        print name + " is not awesome"
        name = raw_input ("What is your name?")
    print "Jane is awesome!"
    endprogram = 1

Tags: 方法用户nameinputyourrawisnot
1条回答
网友
1楼 · 发布于 2024-04-25 17:20:35

两段代码都工作得很好。输入Jane,它会突然出现:

>>> while True:
...     name = raw_input("What is your name?")
...     if name == "Jane":
...         print name + " is awesome"
...         break
...     else:
...         print name + " is not awesome"
...
What is your name?Martijn
Martijn is not awesome
What is your name?Jane
Jane is awesome

添加^{} function call以帮助调试您可能遇到的任何问题,例如额外的空白或缺少大写字母或ASCII以外的特殊字符:

>>> while True:
...     name = raw_input("What is your name?")
...     print 'You entered:', repr(name)
...     if name == "Jane":
...         print name + " is awesome"
...         break
...     else:
...         print name + " is not awesome"
...
What is your name?Martijn
You entered: 'Martijn'
Martijn is not awesome
What is your name? Jane
You entered: ' Jane'
 Jane is not awesome
What is your name?jané
You entered: 'jan\xc3\xa9'
jané is not awesome
What is your name?Jane
You entered: 'Jane'
Jane is awesome

请注意我第一次“尝试”输入Jane时的初始空格(值周围的引号表示有空格)。当输入é时,我的终端向Python发送UTF-8字节,显示为两个转义值,hex C3和A9。你知道吗

相关问题 更多 >