"""
Bài 3.1
-------
Đầu vào: một số nguyên dương
Đầu ra: phần từ số 1 cuối cùng trở về bên
phải - của dạng binary của số đầu vào.
Ví dụ::
input = 5 # (0b101)
output = 1
input = 24 (11000)
output = 1000
input = 9 (1001)
output = 1
Hàm có sẵn: bin(10) == '0b1010'
"""
num = 2400
if type(num) is int and num > 0:
print('Input:', num)
else:
print('Input:', num, '\nTypeError, please enter a positive integer!')
exit(1)
bin_num = bin(num)
print('Binary:', bin_num)
len_bin = len(bin_num)
for i in range(1, len_bin + 1):
if bin_num[-i] == '1':
print('Output:', bin_num[-i:])
exit(0)
"""
Bài 3.2
-------
- input: một số nguyên
- output: in ra màn hình:
Nếu số < 0: this is negative number
Nếu số = 0: this is zero
Nếu số > 0: this is positive number
"""
num = 000
if type(num) is int:
print('Input:', num)
if num < 0:
print('This is negative number')
elif num == 0:
print('This is zero')
else:
print('This is positive number')
else:
print('Input:', num, '\nTypeError, please enter a positive integer!')
exit(1)
"""
Bài 3.3
-------
Viết chương trình loại bỏ phần mở rộng của một tên file bất kỳ.
Ví dụ::
input = '....slsslslsls...sls'
output = '....slsslslsls..'
input = 'maria.ozawa.mp9'
output = 'maria.ozawa'
"""
name = 'maria.ozawa.....1231.&(*&(&(...mp9'
len_name = len(name)
for i in range(1, len_name + 1):
if name[-i] == '.':
print(name[:(len_name - i)])
exit(0)
"""
Bài 3.4
-------
- input = range(5, 16)
- output: in ra thành cặp
Ví dụ::
1 5
2 6
3 7
... cho đến hết
Gợi ý: có thể dùng enumerate()
https://docs.python.org/2/library/functions.html#enumerate
"""
range_num = range(5, 16)
for i, j in enumerate(range_num, start=1):
print(i, j)
"""
Bài 3.5
-------
Input: một số nguyên trong range(1,13).
Output: tên tương ứng của tháng đó bằng tiếng Anh, và số ngày trong tháng đó.
Tháng 2 tính 28 ngày.
Ví dụ:
- input: 2
- output: February 28
"""
num = -1
months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
num_of_days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
if type(num) is int and 0 < num < 13:
print(months[num - 1], num_of_days[num - 1])
else:
print('Input:', num, '\nError, please enter the month of the year in the form of positive integer !')
exit(1)
"""
Bài 3.6
-------
Viết chương trình nhận đầu vào là string "cho meo ga chuot vit ngan" và
in ra list chứa tất cả các chữ cái chỉ xuất hiện một lần trong string trên.
- input: names = "cho meo ga chuot vit ngan"
- output: ['m', 'e', 'u', 'v', 'i']
"""
ss = 'cho meo ga chuot vit ngan'
print('Input:', ss)
len_ss = len(ss)
list_ss = []
for i in range(0, len_ss):
n = 1
for j in range(0, len_ss):
if ss[i] == ss[j] and i != j:
n += 1
if n == 1 and ss[i] != ' ':
list_ss.append(ss[i])
print(list_ss)