简体   繁体   中英

Python return the first entered even/odd number

I've got the following code below which asks the user to continously enter an integer until they enter EXIT. Once they've entered EXIT the system returns the first entered odd and even numbers. So far I've only managed to get it to print the total count. Ive experimented with using two while loops, one to handle even numbers and the other odd numbers but I still yield the same results

Ive included both my output and the expected output below.

NOTE. we haven't learned lists or anything of the sort yet so they can't be used

code

even_count = 0
odd_count = 0

while True:
 user_input = input("Enter an integer (or EXIT to quit): ")

 if (user_input == "EXIT"):
  break

 number = int(user_input)

 if (number%2 == 0):
  even_count += 1
  print("The first even number you entered is {0}".format(even_count))
 else:
  odd_count += 1
  print("The first odd number you entered is {0}".format(odd_count))

CURRENT OUTPUT (prints the total count)

Enter an integer (or EXIT to quit): 1
Enter an integer (or EXIT to quit): 3
Enter an integer (or EXIT to quit): 5
Enter an integer (or EXIT to quit): 2
Enter an integer (or EXIT to quit): 4
Enter an integer (or EXIT to quit): 6

Enter an integer (or EXIT to quit): EXIT
The first even number you entered is 3
The first odd number you entered is 3

EXPECTED OUTPUT(prints the first entered number)

Enter an integer (or EXIT to quit): 1
Enter an integer (or EXIT to quit): 3
Enter an integer (or EXIT to quit): 5
Enter an integer (or EXIT to quit): 2
Enter an integer (or EXIT to quit): 4
Enter an integer (or EXIT to quit): 6

Enter an integer (or EXIT to quit): EXIT
The first even number you entered is 2
The first odd number you entered is 1

You could create a variable containing the first even number:

Code:

first_even_num = None
first_odd_num = None

while True:
    user_input = input("Enter an integer (or EXIT to quit): ")

    if (user_input == "EXIT"):
        break

    number = int(user_input)

    if (number%2 == 0):
        if first_even_num is None:
            first_even_num = number
    else:
        if first_odd_num is None:
            first_odd_num = number


print("The first even number you entered is {0}".format(first_even_num))
print("The first odd number you entered is {0}".format(first_odd_num))

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM