← Back to all posts
While loops help
spiritsarehere

Hi for my while loops homework I got a question which I don't really understand what to write, so I would be grateful if someone could explain it to me:
A parts supply company uses 4-digit part numbers. The last digit indicates the production run. If
the production run is 6,7 or 8 it is considered to be an old model.
Write a code that prompts the user to enter a part number.
The length of the part number should be equal to 4 digits, otherwise an error message will be
displayed and the user will be prompted to input the part number again.
The algorithm should count the total number of parts entered and the number of an old model
parts and output these totals.
Data input will terminate when the user inputs 9999.

Answered by Bookie0 [earned 5 cycles]
Voters
spiritsarehere
hotnewtop
Bookie0

OK, so i cant give you all the code, but i can help you do it. Im gonna assume you know the basics of python.

first of all, you need an input to get the 4 digit number.

Next, we need to find out if the number is a 4 digit number. this can be used with len(variable_name) and replace variable_name with the variable that stocked that input.

you can now use an if else statement to see if len(variable_name) == 4. If it isnt, then print an error message.

so now we know how many digits the number has, we have to find out the last digit. this can be achieved with the modulo %. Basically, if you do a number % 10, it returns the last digit of that number. for example, 1234 % 10 = 4 and 4 is the last digit.

So all you have to do is variable_name % 10 which will find the last digit, and then use an if elif statement to determine if that number (the production run) is a 6, 7, or 8.

Then add a print statement to print if its an old model or not.

Finally, we need a while statement at the start, to see if the number entered by the user is 4 digits or not. So if the length of the number is 4, then you can put break to break the loop (meaning that the condition was verified), and if it isnt a 4 digit number, use else and then pass which will go back to the start (where there is the input)

So i hope you understand, if not, I can keep on helping (I can give you a bit of the code ;)

Happy coding and hope this helps! =)

TamjidChoudhury

@Bookie0 Can i see this code please?