Programming Assignment - 11

Programming Assignment - Week 11


Note: There could be optimised ways to solve the problem, but the goal here is to solve it effectively. The most intuitive solution has been provided for clarity.

Programming Assignment 1

Question:

Write a program that accepts a date in MM/DD/YYYY format as input and prints the date in DD-MM-YY format. The program should retain only the last two digits of the year, replace the forward slash / with a dash -, and swap the order of the month and date.

Input Format:

  • The input consists of a single line.
  • The line contains a date string in MM/DD/YYYY format.

Output Format:

  • A single string in DD-MM-YY format.
  • Print the date with the day and month swapped, the year truncated to the last two digits, and all separators replaced by dashes -.

Example:

Input:12/25/2024

Output: 25-12-24

Code:

date_input = input()
month, day, year = date_input.split("/")

year = year[-2:]

formatted_date = f"{day}-{month}-{year}"

print(formatted_date, end="")

Programming Assignment 2

Question:

Write a program that accepts a sequence of numbers separated by colons as input, and prints the common factors of all the numbers in ascending order.

Input Format:

  • The input consists of a single line.
  • The line contains a sequence of integers separated by colons.

Output Format:

  • Print the common factors of all the numbers, separated by spaces, in ascending order.

Example:

Input:
12:18:24

Output: 1 2 3 6

Code:

def common_factors(numbers):
    min_num = min(numbers)      
    factors = []
    for i in range(1, min_num + 1):
        if all(num % i == 0 for num in numbers):
            factors.append(i)

    return factors 
input_str = input() 
numbers = list(map(int, input_str.split(":")))

factors = common_factors(numbers)

print(" ".join(map(str, factors)),end="")
  

Programming Assignment 3

Question:

You are given a specific mapping between random lowercase alphabet letters and digits. Your task is to decode a date provided in the format DD-MM-YYYY, where each digit is represented by a corresponding letter, and convert it back to its standard decimal format.

The mapping is as follows:

  • a → 0
  • k → 1
  • x → 2
  • y → 3
  • s → 4
  • m → 5
  • b → 6
  • d → 7
  • p → 8
  • z → 9

Input Format:

  • A single line containing a date in the format DD-MM-YYYY, where each digit is encoded using the given letter-to-number mapping.

Output Format:

  • A single line containing the decoded date in standard DD-MM-YYYY format.

Example:

Input:
mk-ya-kzma

Output: 15-03-1750

Code:

def decode_date(encoded_date):
    mapping = {
        'a':  '0',
        'k':  '1',
        'x':  '2',
        'y':  '3',
        's':  '4',
        'm':  '5',
        'b':  '6',
        'd':  '7',
        'p':  '8',
        'z':  '9'
    }

    decoded_date = ''.join(mapping[char] if char in mapping else char for char in encoded_date)

    return decoded_date

encoded_date = input()

print(decode_date(encoded_date),end="")

Comments

Popular posts from this blog

The Joy of Computing using python -Week 1