Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Write a program in Python to generate an even (length) series of random four-digit pin. Get the length from user and ask until it's valid
This program generates a series of random four-digit PIN numbers. The user must provide an even number for the series length, and the program will keep asking until a valid even number is entered.
Problem Requirements
We need to:
Get series length from user input
Validate that the length is even
Generate random four-digit PIN numbers
Display the series using pandas
Step-by-Step Solution
Step 1: Input Validation
First, we create a loop to get valid even input from the user ?
while(True):
size = int(input("enter the series size "))
if(size % 2 == 1):
print("oops! enter an even number!")
continue
else:
break
Step 2: Generate Random PINs
We use random.sample() to select 4 random digits without replacement ?
import random
import string
num = string.digits # '0123456789'
pins = []
for i in range(size):
rand_pin = random.sample(num, 4)
pins.append("".join(rand_pin))
Step 3: Create Pandas Series
Finally, we create and display the series ?
import pandas as pd
series = pd.Series(pins)
print("Random four digit pin number series")
print(series)
Complete Program
# importing required libraries
import pandas as pd
import random
import string
# digits for generating PINs
num = string.digits
pins = []
# get valid even input from user
while(True):
size = int(input("enter the series size "))
if(size % 2 == 1):
print("oops! enter an even number!")
continue
else:
break
# generate random four-digit PINs
for i in range(size):
rand_pin = random.sample(num, 4)
pins.append("".join(rand_pin))
# create and display series
series = pd.Series(pins)
print("Random four digit pin number series")
print(series)
Sample Output
enter the series size 3 oops! enter an even number! enter the series size 5 oops! enter an even number! enter the series size 4 Random four digit pin number series 0 0813 1 7218 2 6739 3 8390 dtype: object
How It Works
The program uses string.digits which contains '0123456789'. The random.sample(num, 4) function selects 4 unique digits randomly, ensuring no repeated digits in a single PIN. The join() method combines these digits into a string, and pandas Series displays them in a formatted manner.
Conclusion
This program demonstrates input validation, random number generation, and pandas Series creation. The key is using random.sample() for unique digit selection and loop-based validation for even input requirements.
