Python 2.7 如何在字符串中添加整数,只使用两个while循环,一个嵌套在另一个中
问题是 “标准输入由一个加法组成,正好包含五个整数项。 例如“271+9730+30+813+5” 我需要添加所有这些,同时只使用两个while循环,一个循环在另一个循环中 Im只允许使用以下功能: 如果/否则 当 无法为此使用列表 我已经尝试将第一个数字保存为“x”,然后将第二个数字保存为“y”,并添加该数字,然后在结束时重新启动循环,并剪切字符串以排除前两个数字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
#!/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()我不知道如何把它分成两部分,我要么得到无限的循环,要么得到一个空的输出。汉克斯人很欣赏它,这太烦人了,讨厌这些问题。如果我不能做某些事情,我怀疑我的雇主会把我置于这样的残疾境地