【问题标题】:Python-Multiple user inputsPython-多用户输入
【发布时间】:2014-01-30 18:16:30
【问题描述】:

我试图在 python 上多次获取用户输入,然后取其总和。

多次获取用户输入意味着我每次都需要一个新变量来存储用户输入。我需要一个可以接受无限用户输入的程序,当然不可能将新变量分配给无限用户输入并将它们相加。 python中有没有可以自己不断添加值的内置函数?

这是我的代码。由于哨兵,它没有给我总和(我不明白为什么)。 请帮忙。

var = int(raw_input("Enter 1,2,3 or 4 for add,subtract,multiplication,division      respectively: "))
if var == 1:
 print "You chose to add.Lets add!! :)"
def main ():
 total = 0.0
 while True:
  number = int(raw_input('enter a number: '))
  if number == 0:
  total+=number
  break
  print 'the total is', total

主()

【问题讨论】:

    标签: python python-2.7 loops calculator infinite


    【解决方案1】:

    试试这个:

    var = int(raw_input("Enter 1,2,3 or 4 for add,subtract,multiplication,division      respectively: "))
    if var == 1:
        print "You chose to add.Lets add!! :)"
    
    def main ():
        total = 0.0
        while True:
            number = float(raw_input('enter a number: '))
            total+=number
            if number == 0:
                break
        print 'the total is', total
    
    main()
    

    这将接受任何输入并将其转换为浮点数,将其添加到您的总数中,如果输入为 0,则返回您的总数。

    为了使这更灵活,您可以使用以下更改,将添加所有数字(包括0)并在用户未输入任何内容时退出。

    total = float(raw_input('enter a number: '))
    while True:
        number = raw_input('enter a number: ')
        if number == '':
            break
        total+=float(number)
    

    【讨论】:

    • 如果我想对乘法做同样的事情怎么办? 我读到 python 中没有数字乘积的内置函数,就像加法一样,即 sum(number )。我不能使用列表,因为这里的用户输入在不断变化。
    • @susan 如果你想对乘法做同样的事情,你可以将 total += number 更改为 total *= number
    • 试过了。但是我应该把最后一行改成什么?即 print "total is",total 不给出乘积。并且相同的循环不适用于 total-=number 的减法,它只会“加”“负”值。
    • 如果它只是输出0.0,那是因为你的默认值total = 0.0乘以它,总是0.0
    • @susan - 我已经修改了我的第二个代码,使其更加灵活(一开始没有将 total 设置为 0.0)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-20
    • 2020-05-23
    • 1970-01-01
    • 1970-01-01
    • 2018-12-25
    • 2019-10-13
    相关资源
    最近更新 更多