在Python中如何将一个范围内的所有值映射到n,range(n)

2024-09-22 20:38:15 发布

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

我正在尝试制作我的第一个Python计算器,它可以添加用户给定的值。问题是,有时我们可能需要添加几个值,即a + b不仅是a + b + d + g + h + ...的加法,所以我定义了一个范围,直到n,其中n是用户输入。在

现在的问题是,如果用户在范围内给出一个5的值,那么如何映射该范围内的每个值以输入要添加的值?在

代码:

 def main():
    print("how many no.s are we dealing with?");
    n=int(input(""));
    for i in range(n):
        print("addition:");

简而言之,我只想让用户首先输入要添加的值,然后用户必须键入所有要键入的值,以便计算器进行添加。在

这就像如果用户有一个3个数字的范围[a + b + c],那么用户将在第一个提示中键入3,然后在每个提示中输入a, b, c个值来给出总数。在


Tags: no代码用户键入定义maindefwith
1条回答
网友
1楼 · 发布于 2024-09-22 20:38:15
def main():
    n=int(input("how many no.s are we dealing with?"))
    result = 0
    for i in range(n):
        value = float(input('enter next number to add'))
        result += value
    print('the result is {0}'.format(result))

注意缺少;

其工作原理是将结果初始化为0。然后每次循环迭代时,都会要求用户输入一个数字。然后将该数字加到结果中。在


不过,还有一种更简单的方法:

^{pr2}$

其工作原理是:

在第1行:您要求用户输入一个字符串并存储它

第二行:你做了很多。。。我将逐一检查:

  • sum_string.split('+')接受用户输入的字符串并将其转换为一个列表。例如:1+2+ 45'.split('+') => ['1','2',' 45']
  • 从上面的例子继续:[float(i) for i in ['1','2',' 45']] => [1,2,45] 这叫做列表理解。太棒了,值得一看
  • 最后sum([1,2,45])=>;48`

第3行:我们打印出结果。我不太确定你想用它做什么

注意:这将不适用于负数,因为它的立场,但可以调整为这样做。。。在

相关问题 更多 >