当输入是特定字符串时,如何中断while循环?

费利克斯·杜米特拉斯库(Felix Dumitrascu)

当其中之一是字符串“ F”时,我需要停止添加用户输入。所以基本上,如果我的输入是int,则:+ =结果,如果相同的输入变量是字符串,则需要停止并将它们加在一起。

我的代码实际上可以正常工作,并且具有相同的输入和输出练习要求,但是我对解决它的方式感到非常不满意。

这是我的代码:

import numbers
cat = int(input())


def norm(cat):
    res = 0
    for n in range(cat):
      x = int(input())
      res += x

    print(res)

def lon():
    res = 0
    while 2 > 1:
     try :
         y = int(input())
         if isinstance(y,int):
           res +=y
     except:
        print(res)
        break




if cat >= 0 :
    norm(cat)
else:
    lon()

通过检查我的变量是否为int,它实际上以一种愚蠢的方式打破了while循环。(我需要通过按F使其停止)是否有更简洁的方法来获得相同的输出?

我期望的实际输入输出示例:

in:       out:16    (1 + 3 + 5 + 7)
4
1
3
5
7

in:       out:37     (1 + 3 + 5 + 7 + 21)
-1
1
3
5
7
21
F
Mateen Ulhaq

您可以写得短一些:

result = 0

while True:
    line = input()
    try:
        result += int(line)
    except ValueError:
        break

print(result)

注意:

  • import numbers不需要。(我什至不知道它的存在!)
  • 相反2 > 1,您可以使用True
  • 您无需进行检查,isinstance(..., int)因为这可以int()强制执行。
  • 这将一直运行,直到到达任何非整数字符串为止。

如果你想专门检查“F”只是,这是一个容易一点:

result = 0

while True:
    line = input()
    if line == "F":
        break
    result += int(line)

print(result)

请注意,如果不使用try,则输入非整数,非"F"字符串会导致程序崩溃

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当用户输入某个字符串时,如何使while循环退出?

如何使用while循环验证输入字符串

while循环,当使用“字符串”数据操作时,如何使用特定的单词或字母中止它?

从字符串输入退出 While 循环

While 循环。如何循环字符串

输入不匹配的字符串时,scanf在while循环中不起作用

如何用用户输入的字符串结束do while循环?

如何将用户输入用于 while 循环中的字符串数组?

将while循环输入附加到字符串?

在特定窗口中输入特定字符串时如何执行程序?

如何在用户输入特定字符串时退出一段时间循环,在 JES 中,python 2.7

使用while和for循环时,如何访问和操作字符串数组中的各个值

当涉及到文件和字符串时,如何执行while循环?

用户输入字符串后如何检查特定字符?

当在管道中放置特定的字符串时,如何监视放入标准输出缓冲区的内容并中断?

如何获得多维数组以字符串输入循环?

用户输入特定整数时如何正确退出while循环

循环时如何替换字符串中的字符?

如何在PHP字符串中创建while循环?

如何循环遍历字符串并返回以特定字符结尾的新字符串

如何匹配Java字符串中的特定输入?

如何从用户输入中选择特定的字符串?

如何删除字符串中的特定输入

如何确保用户输入特定字符串?

在while循环中输入特定字符

如何使它在输入字符串时返回错误消息?

输入字符串而不是int时如何显示消息?

如何使“当字符串不相等时”的循环条件

如何提取特定字符串并从输入字符串中删除其余值?