在while循环中使用原始输入并将其分配给变量?

2024-05-14 09:56:53 发布

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

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

对于这个python代码块,我想在交互式提示模式之外使用。所以我不能把∗作为最后的输出。如何将原始输入分配给变量?我在外面做练习。大约5个值是输入值,我假设为每个相应的输入值输出一些输出值。接受这些输入的最佳方法是什么?在


Tags: 方法代码falsetrueinputrawif模式
3条回答
is42=False
while(!is42):
    d = int(raw_input("Enter a number: "))
    is42 = d==42
    print "d = ", d

如果我能正确理解你问题的要求,那就可以了。在

嗨,欢迎来到Python!在

raw_input()函数以字符串形式返回读取的输入。因此,如果有d = _,可以用d = raw_input()替换它。我想问你的一个问题是你为什么把它放在while条件下?如果您希望它不断地向用户询问一个数字,那么将while(raw_input()):替换为while True:。在

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

现在会有另一个问题,当用户给你一个不能转换成整数的输入,但是处理它对你来说是一个练习。:)

最终代码:

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

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

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

你的麻烦够解决了吗?在

相关问题 更多 >

    热门问题