2017-02-23 123 views
0
is42= False 
while(raw_input()): 
    d = _ 
    if d == 42: 
     is42 = True 
    if not is42: 
     print d 

这个python代码块我想在交互式提示模式之外使用。所以我不能使用_作为最后的输出。如何将raw_input分配给变量?我正在做一个网站的练习。约5个值是输入,我想为每个相应的输入值吐出一些输出。采取这种投入来做到这一点的最佳方式是什么?在while循环中使用raw_input并将其分配给变量?

+1

始终首先检查的官方文档。 https://docs.python.org/2/library/functions.html?highlight=raw_input#raw_input – delta

+1

'd = raw_input(“选择一个数字:”)' – serk

+1

除了上面的两条评论:如果你刚刚开始python请尝试学习[python 3](https://docs.python.org/3)而不是python 2. Python 2现在是一个遗产,它正在[推荐](https://wiki.python。 org/moin/Python2orPython3 /)可以使用最新版本。 – MaLiN2223

回答

0

这似乎是非常低效的逻辑。你真的需要is42状态标志吗?如果没有,你可能想要类似

stuff = raw_input() 
while stuff: 
    if stuff != "42": 
     print stuff 
    stuff = raw_input() 

这是否解决了足够的麻烦?

0
is42=False 
while(!is42): 
    d = int(raw_input("Enter a number: ")) 
    is42 = d==42 
    print "d = ", d 

这应该这样做,如果我正确理解您的问题的要求。

0

嗨,欢迎来到Python!

raw_input()函数返回读入为字符串的输入。因此,如果您有d = _,则可以用d = raw_input()替换。我给你的一个问题就是为什么你在while状态下使用它?如果您希望它不断向用户询问一个数字,请将while(raw_input()):替换为while True:

还有一件事,raw_input()总是返回一个字符串。所以如果你运行print '30' == 30,你会看到30的字符串表示不等于30的数字表示。但这不是问题!通过将d = raw_input()替换为d = int(raw_input()),您可以将返回值raw_input()转换为整数类型。

现在当用户给你一个不能转换为整数的输入时,会出现另一个问题,但是处理可能是你的一个练习。 :)

最终代码:

is42= False 
while True: 
    d = int(raw_input()) 
    if d == 42: 
     is42 = True 
    if not is42: 
     print d