Python 打印赢得';在if语句中不能工作

Python 打印赢得';在if语句中不能工作,python,if-statement,printing,Python,If Statement,Printing,当我运行这个脚本时,它跳过了第8行的print函数。为了我的生命,我不明白为什么。我已经尝试了很多方法来让它工作,但我似乎无法解决这里的问题。我对Python非常陌生,所以如果这是一个非常简单的问题,请原谅 编辑:呜呜,忘记实际代码了!这里是facepalm: import webbrowser import sys b = webbrowser.get('windows-default') print('Type start') line1 = sys.stdin.readline() sta

当我运行这个脚本时,它跳过了第8行的print函数。为了我的生命,我不明白为什么。我已经尝试了很多方法来让它工作,但我似乎无法解决这里的问题。我对Python非常陌生,所以如果这是一个非常简单的问题,请原谅

编辑:呜呜,忘记实际代码了!这里是facepalm:

import webbrowser
import sys
b = webbrowser.get('windows-default')
print('Type start')
line1 = sys.stdin.readline()
start = 'start'
if line1 == start:
    print('What website do you want to open?')
line2 = sys.stdin.readline()
b.open(line2)

在stdin中键入
'start'
然后按enter键时,包括换行符在内的整个字符串最终存储在
第1行中。所以实际上,
line1=='start\n'
。在进行比较之前,需要从字符串末尾删除该
\n
。一种简单的方法是使用:

编辑:

正如Ashwini Chaudhary在评论中指出的那样,您实际上应该只使用
raw_input
(或者如果使用Python 3.x,则使用
input
)而不是
sys.stdin.readline
。这将使您的代码更短,并且不需要完全删除尾随的换行符:

line1 = raw_input('Type start')
start = 'start'
if line1 == start:
    line2 = raw_input('What website do you want to open?')
    b.open(line2)

在stdin中键入
'start'
然后按enter键时,包括换行符在内的整个字符串最终存储在
第1行中。所以实际上,
line1=='start\n'
。在进行比较之前,需要从字符串末尾删除该
\n
。一种简单的方法是使用:

编辑:

正如Ashwini Chaudhary在评论中指出的那样,您实际上应该只使用
raw_input
(或者如果使用Python 3.x,则使用
input
)而不是
sys.stdin.readline
。这将使您的代码更短,并且不需要完全删除尾随的换行符:

line1 = raw_input('Type start')
start = 'start'
if line1 == start:
    line2 = raw_input('What website do you want to open?')
    b.open(line2)

看来你忘了写剧本了…哈哈,我一贴出来就意识到了。现在修好了!您是否知道(或在Python 3中)?很明显,你在这里要求用户输入,所以最好使用这些方法,而不是
sys.stdin.readline
。看起来你忘了包含脚本…哈哈,我一发布就意识到了这一点。现在修好了!您是否知道(或在Python 3中)?很明显,您在这里要求用户输入,因此最好使用这些方法,而不是
sys.stdin.readline