You are on page 1of 2

Bài 1:

def cleanse_name(name):
if name == "":
return "Default Name"
elif len(name) > 25:
return name[:25]
else:
return name

def cleanse_phone(phone):
digits = ''.join(filter(str.isdigit, phone))
if digits:
return digits
else:
return "0"

def cleanse_salary(salary):
if 200 <= salary <= 2000:
return salary
elif salary < 200:
return 200
else:
return 2000

def cleanse_data(data):
cleansed_data = []
for row in data:
name = cleanse_name(row[0])
phone = cleanse_phone(row[1])
salary = cleanse_salary(row[2])
cleansed_row = [name, phone, salary]
cleansed_data.append(cleansed_row)
return cleansed_data

# Example usage
data = [["Nguyen Manh Dung", "1234567890", 1500],
["Hai Anh", "abc123", 2200],
["Hiep", "987654", 180],
["Viet anh", "", 2500]]

cleansed_data = cleanse_data(data)
print(cleansed_data)
Bài 2:

def extract_primes(numbers):
return [num for num in numbers if is_prime(num)]

def find_divisible_numbers(numbers, prime):


return [num for num in numbers if num % prime == 0]

# Generate a list of random integers (100 elements)


import random
numbers = random.sample(range(-1000, 1000), 100)

# Exercise 2a: Make negative numbers positive


positive_numbers = make_negative_positive(numbers)

# Exercise 2b: Extract prime numbers


prime_numbers = extract_primes(numbers)
print("Prime numbers:", prime_numbers)

# Exercise 2c: Find divisible numbers for each prime


for prime in prime_numbers:
divisible_numbers = find_divisible_numbers(numbers, prime)
print(f"Divisible numbers for prime {prime}:", divisible_numbers)

You might also like