Python:分离少于25个int和大于25个int输入然后处理这些数字

时间:2015-10-20 09:38:40

标签: python python-2.7

编写一个读取一系列正整数的Python程序,并写出小于25的所有整数的乘积以及大于或等于25的所有整数的总和。使用0作为标记值。

def main():
    user_input = 1
    while user_input != 0:
        user_input = int(input("Enter positive integers, then type 0 when finnished. "))
        if (user_input) < 25:
            product = 1
            product = (user_input) * product
        else:
            (user_input) >= 25
            sum = 0
            sum = (user_input) + sum

    print('The product off all the integers less than 25 is ', product, "and the sum of all the integers greater than 25 is ", sum, ".")
main()

这是我到目前为止所拥有的。这是我的计算机科学课程的第一个python代码。

我的主要障碍是前哨值必须为零,而我的user_input乘以产品,这只是将所有内容归零。

2 个答案:

答案 0 :(得分:0)

您可以随时检查sentinel值是否为0,如果是,只需将值添加到其中。

答案 1 :(得分:0)

对您的代码进行一些小修改。

  • 在循环外部初始化哨兵,或者每次都重置。
  • Else子句语法错误并更改为elif
  • sum重命名为不与python builtin sum
  • 发生冲突
  • 保护product总计在退出时乘以零。

代码:

def main():
    sum_total, product = 0, 1
    user_input = 1
    while user_input != 0:
        user_input = int(input("Enter positive integers, then type 0 when finnished. "))
        if 0 < user_input < 25:
            product *= user_input
        elif user_input >= 25:
            sum_total += user_input
    print("The product off all the integers less than 25 is ", product)
    print("The sum of all the integers greater than 25 is ", sum_total)