Continually prompting user for input in Python

前端 未结 7 2020
余生分开走
余生分开走 2021-01-16 16:22

Objective: * Write a python program that repeatedly prompts for input of a positive number until the sum of the numbers is greater than 179. Use at least three modules/fun

7条回答
  •  囚心锁ツ
    2021-01-16 17:00

    Thanks to everyone who answered. I've written the following code and it works nearly perfectly except the last module. If you exit the program after the first run (by pressing 0) it will exit, but if you run it a second time pressing 0 won't make it exit. It'll just go back to the beginning of the program. I don't know why.

    Note: The assignment has various requirements that I had to incorporate in my code. Hence the unnecessary modules, global variables, and comments.

    maxNum = 42  # declares global variable maxNum
    target = 179  # declares global variable target
    
    def user_input():  # prompts user to input a number 42 or less until all add up to 179
        x = 0
        nums = []    
        while sum(nums) <= target:
            nums.append(int(raw_input("Enter a number: ")))
            if int(nums[x]) > int(maxNum):
                print "Number cannot exceed 42."
                user_input()
            else:
                x += 1
        print_nums(nums,x)
    
    def print_nums(nums,x):  # prints the sum of the numbers, the smallest, and the largest 
        print "Sum of all numbers is", sum(nums)
        nums.sort()
        x -= 1
        print "Largest number entered is", nums[x]
        print "Smallest number entered is", nums[0]
        decide()
    
    def decide():  # allows user to continue the program or exit 
        exit = raw_input("<9 to enter a new set of number.  0 to exit.> ")
        while True:
            if int(exit) == 0:
                return
            elif int(exit) == 9:
                user_input()
    
    user_input()
    

提交回复
热议问题