# data[].attributes.body
https://forms.gle/JCy5Gt8cNNnAkJ6C8

# data[].attributes.attachment_link.description
Access Google Forms with a personal Google account or Google Workspace account (for business use).

# data[].attributes.attachment_link.title
Module 2 _ De thi ket thuc hoc phan_Ver2

# data[].attributes.attachment_link.description
Access Google Forms with a personal Google account or Google Workspace account (for business use).

# data[].attributes.attachment_link.title
Zalo - Nhắn Gửi Yêu Thương (Nhắn tin thoại - Trò chuyện nhóm ...)

# data[].attributes.attachment_link.description
Website chính thức của Zalo, ứng dụng nhắn tin & gọi điện miễn phí được phát triển bởi VNG Corp

# data[].attributes.attachment_link.description
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.

# data[].attributes.attachment_link.readable_text
# x, y = 5, 7
# if x > y:
#     print(f'{x} > {y}')
#     print('...')
# else:
#     print(f'{x} <= {y}')
# """
# This is a comment
# Second comment
# """
# # Nguyễn Văn A
# # Lớp 9A1

# name = 'Nguyễn Văn Nam'
# age = 12
# print(name, age, 'tuổi')
# print(type(name), type(age))
# print(int(age))
# print(float(age))
# print(str(age))


# x = y = z = 10
# a, b, c = 5, 6, 7
# print(x, y, z)
# print(a, b, c)

# # Bài tập 1
# # cách 1
# print('Day 1- Python Print Function')
# print('The function is declared like this:')
# print("print('what to print')")

# # cách 2
# data = '''Day 1- Python Print Function
# The function is declared like this:
# print('what to print')
# '''
# print(data)

# # Bài 2
# print(10*'-', 'Nickname Maker', 10*'-')
# print('Cung cấp cho máy tính thông tin về bạn...!')
# que_quan = input('------Quê quán của bạn: ')
# than_tuong = input('------Thần tượng của bạn: ')
# print('====>>>>Biệt danh của bạn là: ', than_tuong, que_quan)


# ho_ten = 'Nguyễn Văn Nam'
# lop = '9A1'
# tuoi = 15
# print(ho_ten, lop, tuoi, 'tuổi')
# print(ho_ten + ' ' + lop + ' ' + str(tuoi) + ' tuổi')
# print(f'{ho_ten} {lop} {tuoi} tuổi')
# print('%s %s %s tuổi' % (ho_ten, lop, tuoi))

# a = int(input('Nhập số a: '))
# b = int(input('Nhập số b: '))
# tong = a + b
# hieu = a - b
# tich = a * b
# thuong = a / b
# chia_du = a % b
# chia_nguyen = a // b
# luy_thua = a ** b
# print(f'{a} + {b} = {tong}')
# print(f'{a} - {b} = {hieu}')
# print(f'{a} * {b} = {tich}')
# print(f'{a} / {b} = {thuong}')
# print(f'{a} % {b} = {chia_du}')
# print(f'{a} // {b} = {chia_nguyen}')
# print(f'{a} ** {b} = {luy_thua}')



# Bài 4 - Nhập họ tên và điểm môn học
ho_ten = input('Nhập họ tên của HS: ')
toan = float(input('Nhập điểm Toán: '))
van = float(input('Nhập điểm Văn: '))
anh = float(input('Nhập điểm tiếng Anh: '))
diem_tb = (toan*2 + van*2 + anh)/5
print(f'Điểm của {ho_ten}: Toán-{toan}, Văn-{van}, Anh-{anh}')
print(f'Điểm trung bình của {ho_ten} là {diem_tb}')










# data[].attributes.attachment_link.readable_text
# x  = 'Hello world...!'
# print(x, type(x))
# 
# x = 168
# print(x, type(x))
# 
# x = 9.75
# print(x, type(x))
# 
# x = 1j
# print(x, type(x))


# list_names = ['Sơn', 'Minh', 'Vinh', 'Bảo']
# print(list_names, len(list_names), type(list_names))
# 
# fruits = ('apple', 'banana', 'orange')
# print(fruits, len(fruits), type(fruits))
# 
# print(type(range(1, 10, 3)))
# numbers = [ x for x in range(1, 10, 3) ]
# print(numbers, type(numbers))
# 
# words = {
#     'hello': 'Xin chào',
#     'one': 'Một'
#     }
# print(words)

# a = int(input('Nhập số a: '))
# b = int(input('Nhập số b: '))
# tong = a + b
# hieu = a - b
# tich = a * b
# thuong = a / b
# print(f'{a} + {b} = {tong}', type(tong))
# print(f'{a} - {b} = {hieu}', type(hieu))
# print(f'{a} * {b} = {tich}', type(tich))
# print(f'{a} / {b} = {thuong}', type(thuong))

import random
count = 0
my_number = int(input('Bạn hãy chọn 1 số (0->99): '))
for i in range(100):
    x = random.randint(0, 100)
    count = count + 1
    if x == my_number:
        print('Bạn đã trúng Jackpot...! ^_^')
        break
    else:
        print('Chúc bạn may mắn lần sau...! :(')    
print('==>Bạn đã thử', count, 'lần')



# # Bài tập 02
# for i in range(1, 8):
#     print(i * '*')

# # Bài tập 03
# for i in range(1, 8):
#     print((7 - i) * ' ' + (2 * i - 1) * '*')
# for i in range(3):
#     print((7 - 2) * ' ' + 3 * '*')


# # Bài tập 4
# x = int(input('Nhập vào số x: '))
# y = int(input('Nhập vào số y: '))
# z = int(input('Nhập vào số z: '))
# s = 3*x + 5*y - 6*z
# print('S =', s)
# print(f'3*{x} + 5*{y} - 6*{z} = {s}')


# import math
# x = 5
# y = 10
# print(x - y)
# print(math.fabs(x - y))

# # Ví dụ 1.1:
# import math
# x = int(input('Nhập vào số x: '))
# s = math.fabs(x ** 2 - math.fabs(x ** 3 + x ** 4))
# print(f"S = {s}")

































































# data[].attributes.attachment_link.readable_text
# # Ví dụ 1.2
# import math
# n = int(input('Nhập số n (0 < n <= 10): '))
# for i in range(1, n + 1):
#     print(f'{i}! = {math.factorial(i)}')

# # Tính ước chung lớn nhất
# import math
# a = 1240
# b = 240
# c = 180
# ucln = math.gcd(a, b)
# print(f'ucln({a}, {b}) = {ucln}')
# ucln_3_so = math.gcd(ucln, c)
# print(f'ucln({a}, {b}, {c}) = {ucln_3_so}')

# # Tìm bội chung nhỏ nhất
# import math
# a = 8
# b = 6
# bcnn = (a * b) / math.gcd(a, b)
# print(f'bcnn({a}, {b}) = {bcnn}')

# # Tính chu vi và diện tích hình tròn
# import math
# r = float(input('Nhập bán kính hình tròn: '))
# dien_tich = r ** 2 * math.pi
# chu_vi = 2 * r * math.pi
# print('Diện tích đường tròn bán kính', r, 'là:', round(dien_tich, 2))
# print('Chu vi đường tròn bán kính %f là: %1.4f' % (r, chu_vi))


# # bài tập phân số
# import math
# tu_so = int(input('Nhập tử số: '))
# mau_so = int(input('Nhập mẫu số: '))
# print('Phân số vừa nhập: ' + str(tu_so) + '/' + str(mau_so))
# ucln = math.gcd(tu_so, mau_so)
# tu_so = int(tu_so / ucln)
# mau_so = int(mau_so / ucln)
# print(f'Phân số sau khi rút gọn: {tu_so}/{mau_so}')
# print(f'Giá trị của {tu_so}/{mau_so} = {tu_so/mau_so}')

# # Toán tử gán
# x = 5
# x += 3 # x = x + 3
# print(x)
# x -= 2 # x = x - 2
# print(x)
# x *= 4 # x = x * 4
# print(x)
# x /= 5 # x = x / 5
# print(x)
# x %= 2
# print(x)
# x **= 5
# print(x)

# x, y, z = 7, 5, 9
# print(x == y)
# print(x != y)
# print(x > z)
# print(y < z)
# print(x >= y)
# print(y <= z)
# print(y < x and y < z)
# print(x > y or y > z)


# # Ép kiểu dữ liệu
# x = 10
# y = 9.75
# z = 123
# print(x, type(x))
# print(y, type(y))
# print(z, type(z))
# x, y, z = float(x), int(y), str(z)
# print(x, type(x))
# print(y, type(y))
# print(z, type(z))


# y = '6'
# y = int(y)
# print(y + 3)
# #
# y = '6'
# print(y + str(3))


# # Cộng chuỗi
# name = 'Nguyễn Văn Nam'
# school = 'FPT School'
# print(name + ' học sinh ' + school)
# print(name, 'học sinh', school)
# print(f'{name} học sinh {school}')
# print('%s học sinh %s' % (name, school))

# # Hàm len: length
# name = 'Trần Nhật Minh'
# print(len(name), 'kí tự')
# print(name[0], name[1])
# print(name[len(name) - 1])
# print(name[-1], name[-2])
# print('Chuỗi xuôi:', name)
# print('Chuỗi đảo ngược:', name[::-1])


# # Cắt lát chuỗi ký tự
# string = 'Lập trình thật dễ!'
# print(string[2:5]) # Đi từ 2 đến 5 - 1 = 4
# print(string[2:8:3]) # Đi từ 2 đến 7 cách 3 kí tự
# print(string[2:]) # Lấy từ kí tự thứ 2
# print(string[:5]) # Lấy từ 0 đến kí tự 4

# Duyệt chuỗi ký tự
data = 'Hello world'
for i in range(len(data)):
    print(f'Kí tự thứ {i}: {data[i]}', end='\t')






















# data[].attributes.attachment_link.readable_text
# Tuần 4
# import random
# so_cccd = ''
# ho_ten = input('Nhập họ tên: ')
# nam_sinh = int(input('Nhập năm sinh: '))
# que_quan = input('Nhập quê quán: ')
# so_ngau_nhien = str(random.randint(1000, 10000))
# print(ho_ten, nam_sinh, que_quan, so_ngau_nhien)
# list_words = ho_ten.split()
# for word in list_words:
#     so_cccd = so_cccd + str(ord(word[0]))
# so_cccd = so_cccd + str(int(nam_sinh % 100))
# for word in que_quan.split():
#     so_cccd = so_cccd + str(ord(word[0]))
# so_cccd = so_cccd + so_ngau_nhien
# print(so_cccd)


# a, b = 6, 8
# print(a > b)
# print(a < b)
# print(a == b)
# print(a != b)
# print(a >= b)
# print(a <= b)

# import random
# a, b = random.randint(10, 100), random.randint(10, 100)
# if a < b:
#     print(f'{a} < {b}')
# else:
#     print(f'{a} >= {b}')

# import random
# a = random.randint(100, 1000)
# b = random.randint(100, 1000)
# print(f'a = {a}, b = {b}')
# if a % 2 == 0 and b % 2 == 0:
#     print('Cả a và b đều là số chẵn')
# elif a % 2 == 0 and b % 2 != 0:
#     print('a chẵn b lẻ')
# elif a % 2 != 0 and b % 2 == 0:
#     print('a lẻ b chẵn')
# else:
#     print('Cả a và b đều là số lẻ')


# # Bài tập 1
# birth_year = int(input('Enter your birth year: '))
# age = 2023 - birth_year
# print('You are', age, 'years old')
# if age >= 16:
#     print('You are old enough to have a drivers license')
# else:
#     print('You are not old enough to have a drivers license')

# # Bài tập 2
# diem_tb = float(input('Nhập điểm trung bình: '))
# if 8 <= diem_tb <= 10:
#     print('Học lực Giỏi')
# elif 5 <= diem_tb < 8:
#     print('Học lực Khá')
# elif 0 <= diem_tb < 5:
#     print('Học lực Trung bình')
# else:
#     print('Điểm trung bình không hợp lệ!')


# # Bài tập 3
# print(6 * '-', 'Kết quả của phép toán 12 + 28 = ?')
# dap_an = int(input('Hãy nhập vào đáp án đúng: '))
# if dap_an == 40:
#     print('Chính xác, bạn đã trả lời đúng!')
# else:
#     print('Rất tiếc, bạn trả lời sai! Đáp án đúng là 40')



# # Bài 5
# a = float(input('Nhập độ dài cạnh a: '))
# b = float(input('Nhập độ dài cạnh b: '))
# c = float(input('Nhập độ dài cạnh c: '))
# if (a + b) > c and (a + c) > b and (b + c) > a:
#     print(f'Ba cạnh {a}, {b}, {c} tạo thành tam giác')
#     if a == b and b == c:
#         print('Tam giác đều')
#     elif a == b or b == c or c == a:
#         print('Tam giác cân')
#     elif a*a == b*b + c*c or b*b == a*a + c*c or c*c == a*a + b*b:
#             print('Tam giác vuông')
#     else:
#         print('Tam giác thường')
# else:
#     print('Không tạo thành tam giác')


# Tuần 5

# # Ví dụ 1.1
# n = int(input('Nhập số nguyên dương N: '))
# for i in range(1, 101):
#     print(n, '*', i, '=', n * i)

# # Bài tập 01
# n = int(input('Nhập số nguyên dương N: '))
# tong = 0
# for i in range(1, n + 1):
#     tong = tong + i
# print('S =', tong)

# i = 0
# while True:
#     print(i)
#     i = i + 1
#     if i == 9999:
#         break

# # Bảng cửu chương đơn
# n = int(input('Nhập số N: '))
# i = 1
# while i < 11:
#     print(n, '*', i, '=', n * i)
#     i = i + 1

# list_number = [12, 6, 8, 9, 5]
# index = 0
# for num in list_number:
#     print('Phần tử', index, ':', num)
#     index = index + 1
# for i in range(0, len(list_number)):
#     print('Phần tử', i, ':', list_number[i])

# # Lệnh break
# for i in range(1, 11):
#     if i > 6:
#         break
#     print(i, ' ', end='')
# print()
# 
# # Lệnh continue
# for i in range(1, 11):
#     if i % 2 == 0:
#         continue
#     print(i, ' ', end='')
# print()



# # Bài tập 2
# n = int(input('N = '))
# _n = n
# tong = 0
# while _n > 0:
#     don_vi = _n % 10
#     _n = int(_n / 10)
#     tong = tong + don_vi
# print('Tổng các chữ số của', n, '=', tong)

# # Bài tập 3
# n = int(input('N = '))
# tong = 0
# for i in range(1, n + 1):
#     tong += 1 / (i * (i + 1))
# print('S =', tong)
# print('S =', round(tong, 2))
# print('S = %1.2f' % (tong))


# # Bài tập 4
# n = int(input('Nhập n: '))
# kq = ''
# for i in range(0, n, 2):
#     kq = kq + str(i) + ', '
# print('Các số chẵn < ' + str(n) + ' là: ' + kq[:-2] + '.')

# # Bài tập 5
# n = int(input('N = '))
# tong = 0
# for i in range(1, n + 1):
#     tong = tong + i
# tbc = tong / n
# print('Trung bình cộng các số từ 1 đến', n, 'là:', tbc)
# print(tong, '/', n, '=', tbc)


# Bài tập 6
def tinh_tong_n(n):
    tong = 0
    for i in range(1, n + 1):
        tong = tong + i
    return tong

n = int(input('N = '))
s = 0
for i in range(1, n + 1):
    s = s + 1/tinh_tong_n(i)
print('S =', s)
    












# data[].attributes.attachment_link.readable_text
# hoa_qua = ['apple', 'banana', 'cherry', 'orange', 'mango', 'lemon']
# print(hoa_qua, type(hoa_qua))
# print('Phần tử thứ 1:', hoa_qua[0]) # 0 phần tử đầu
# print('Phần tử thứ 2:', hoa_qua[1])
# print('Phần tử thứ 3:', hoa_qua[2])
# print(hoa_qua[-1]) # -1 phần tử cuối
# print(hoa_qua[-2])
# print(hoa_qua[-3])
# print(hoa_qua[1:4]) # lấy 1, 2, 3
# print(hoa_qua[:3]) # lấy 0, 1, 2
# print(hoa_qua[2:]) 
# print(hoa_qua[:-1])
# print(hoa_qua[::2]) # lấy các phần tử chẵn
# print(hoa_qua[1::2]) # lấy các phần tử lẻ
# print(hoa_qua[::5]) # lấy các phần tử vị trí chia hết 5


# hoa_qua = ['apple', 'banana', 'cherry', 'orange', 'mango', 'lemon']
# hoa_qua[0] = 'kiwi'
# print(hoa_qua)
# hoa_qua[1] = 'kiwi'
# print(hoa_qua)
# data = ['banana', 6, 9.75, True]
# print(data)

# hoa_qua = ['apple', 'banana', 'cherry', 'orange', 'mango', 'lemon']
# print('Có tất cả', len(hoa_qua), 'quả')
# print(hoa_qua[-1], hoa_qua[len(hoa_qua) - 1])
# print(hoa_qua)
# hoa_qua.append('kiwi') # thêm 1 phần tử mới vào cuối danh sách
# print(hoa_qua)
# do_an = ['bánh mì', 'phở bò', 'cơm rang']
# do_an.extend(hoa_qua) # thêm tất cả pt trong hoa_qua vào cuối do_an
# print(do_an)
# do_an.insert(6, 'xôi xéo')
# print(do_an)
# do_an.pop(-1)
# print(do_an)
# do_an.clear()
# print(do_an)

# # Duyệt từng phần tử trong danh sách
# for i in range(0, len(do_an)):
#     print('Phần tử', i, ': ', do_an[i])
# print(10 * '-')
# i = 0
# for x in do_an:
#     print('Phần tử ' + str(i) + ': ' + str(x))
#     i = i + 1

# Bài tập 01
n = int(input('Nhập số lượng học sinh: '))
ds_ten = []
for i in range(n):
    ten = input('Nhập họ tên HS: ')
    ds_ten.append(ten)
for i in range(len(ds_ten)):
    print(f'Học sinh thứ {i}: {ds_ten[i]}')

# Xóa hết bạn tên Linh
for i in range(len(ds_ten)):
    words = ds_ten[i].split()
    ten = words[-1]
    ho = words[0]
    if ten.lower() == 'linh':
        ds_ten[i] = 'linh'
print('Trước khi xóa Linh:', ds_ten)
for i in range(len(ds_ten) + 1):
    if 'linh' in ds_ten:
        ds_ten.remove('linh')
print('DS sau khi xóa Linh:', ds_ten)












# data[].attributes.attachment_link.title
FAS _ Tuan 8 + 9 _ Lap trinh HDT + tong quan ve Tinker

# data[].attributes.attachment_link.title
Module2_Tuần 07_Overriding method and operator

# data[].attributes.body
https://feedu-my.sharepoint.com/:x:/g/personal/lannt78_fe_edu_vn/EY3VWjfvXIxCgSsMCh2W2EcBlMPipZgGknngkzQK8OHbKA?e=4%3AxN1O82&fromShare=true&at=9&CID=e2abfabb-5d25-d225-9629-22c1b0012ed2

# data[].attributes.attachment_link.title
6. Module3 _ Tuần 06_JSON và chuyen doi du lieu voi Pickle

# data[].attributes.attachment_link.title
8. Module3 _ Tuần 08 _ 09 _ 10 _ Do hoa Turtle

# data[].attributes.attachment_link.title
1. L2_Module1 _ Tuần 01+02+03_Giới thiệu về Web Scraping