Python 2.7 如何在字符串中添加整数,只使用两个while循环,一个嵌套在另一个中

Python 2.7 如何在字符串中添加整数,只使用两个while循环,一个嵌套在另一个中,python-2.7,while-loop,nested-loops,Python 2.7,While Loop,Nested Loops,问题是 “标准输入由一个加法组成,正好包含五个整数项。 例如“271+9730+30+813+5” 我需要添加所有这些,同时只使用两个while循环,一个循环在另一个循环中 Im只允许使用以下功能: 如果/否则 当 无法为此使用列表 我已经尝试将第一个数字保存为“x”,然后将第二个数字保存为“y”,并添加该数字,然后在结束时重新启动循环,并剪切字符串以排除前两个数字 #!/usr/bin/env python s = raw_input() i = 0 y = 0 while i < l

问题是 “标准输入由一个加法组成,正好包含五个整数项。 例如“271+9730+30+813+5”

我需要添加所有这些,同时只使用两个while循环,一个循环在另一个循环中

Im只允许使用以下功能: 如果/否则 当

无法为此使用列表

我已经尝试将第一个数字保存为“x”,然后将第二个数字保存为“y”,并添加该数字,然后在结束时重新启动循环,并剪切字符串以排除前两个数字

#!/usr/bin/env python

s = raw_input()
i = 0
y = 0
while i < len(s) and s[i] != "+":
  i = i + 1
  x = s[:i]
  if i < len(s):
    j = i + 1
    while j < len(s) and s[j] != "+":
      j += 1
      y = s[i + i:j]
      s = s[j:]
      i = 0
!/usr/bin/env python
s=原始输入()
i=0
y=0
而我
你需要从数量上考虑。每次移动一个位置而不点击“+”时,第一位数字的值会增加10倍

result=0
s="271+9730+30+813+5"
spot=0
dec=0
i=0
while spot < 4 and i < len(s):
    if s[0] == '+':
      spot+=1;
      s=s[1:];
    if s[i] == '+':
        result = (result) + (int(s[0])*(10**(dec-1)));
        s=s[1:];
        i=0;
        dec=0;
        print s
        print result
    else:
        dec+=1;
        i+=1;
result = result + int(s)
print result
result=0
s=“271+9730+30+813+5”
spot=0
十二月=0
i=0
当spot<4和i
编辑:或者,使用int()和正好2个while循环的计算效率更高的解决方案:

result=0
s="271+9730+30+813+5"
spot=0
i=0
while spot < 4:
    while s[i] != '+':
       i+= 1;

    result += int(s[0:i]);
    s=s[i+1:];
    i=0;
    print "remaining string: " + s
    print "current result: " + str(result)
    spot+=1;
result += int(s)
print "final result: " + str(result)
result=0
s=“271+9730+30+813+5”
spot=0
i=0
当斑点<4时:
而s[i]!='+':
i+=1;
结果+=int(s[0:i]);
s=s[i+1:];
i=0;
打印“剩余字符串:+s”
打印“当前结果:”+str(结果)
spot+=1;
结果+=int(s)
打印“最终结果:”+str(结果)

这是可行的,但它说我需要使用两个while循环,所以我需要在其中的某个位置插入另一个while循环。原来的帖子说最多2个while循环,如果需要,那么你可以通过分离“and”将第一个while循环拆分为2。另外,我不确定在这里使用
int
函数的合法性。如果
int
合法相信有更有效的函数不会循环相同的整数n!次!是的,对不起,我以为它是最大的两个循环,因为我用了5,但当我把它放进去时,它说正好是两个循环,是的,我认为int()我不知道如何把它分成两部分,我要么得到无限的循环,要么得到一个空的输出。汉克斯人很欣赏它,这太烦人了,讨厌这些问题。如果我不能做某些事情,我怀疑我的雇主会把我置于这样的残疾境地