You are on page 1of 5

Bài tập nhóm Python chương 4:

(dịch bởi Đức Anh tốt bụng)


81. Viết hàm với độ dài hai cạnh góc vuông làm tham số và trả về (return) độ dài của
cạnh huyền như là kết quả của hàm. (bằng cách sử dụng định lý Py-ta-go). Viết một
chương trình để hiển thị độ dài của hai cạnh góc vuông đã nhập và hiển thị kết quả của
hàm trên.

82. Viết hàm tính giá tiền đi taxic với khoảng cách di chuyển là tham số duy nhất và trả
về tổng chi phí. (Biết rằng giá gốc là $4 và với mỗi 140 mét thì sẽ tính thêm $0.25). Viết
một chương trình thể hiện hàm trên.

83. Viết hàm tính phí ship hàng cho một công ty bán lẻ với số vật phẩm trong đơn hàng là
tham số duy nhất và trả về tổng phí ship như là kết quả của hàm trên. (Biết rằng vật
phẩm đầu tiên có giá $10.95 và sau đó mỗi vật phẩm trong đơn hàng sẽ được tính
them $2.95). Viết chương trình hiển thị số món hàng trong đơn hàng và tổng chi phí vận
chuyển của đơn hàng.

84. Viết hàm dùng 3 số thực làm tham số và in ra màn hình số có độ lớn thứ hai. (Ví dụ
nhập vào 1,2,3 thì sẽ in ra số 2). Viết chương trình nhập vào ba số thực từ bàn phím và
in ra kết quả tương ứng với hàm trên.

85. Viết hàm dùng một số nguyên trong khoảng từ 1 đến 12 làm tham số duy nhất và in
màn hình số thứ tự tương ứng của chúng bằng Tiếng Anh. (Ví dụ nhập vào 1 thì sẽ in ra
first, nhập vào 2 thì in ra second,…). Viết chương trình thể hiện hàm bằng cách in ra
màn hình số nguyên và số thứ tự tương ứng.

86. Viết chương trình hiển thị lời bài hát đầy đủ của bài hát “The Twelve Days of
Christmas”. Sử dụng một hàm lấy số thứ tự của các verse làm tham số duy nhất và hiển
thị chính xác verse vừa được gọi. (Mỗi món quà trong danh sách chỉ nên xuất hiện một
lần trong chương trình)
87. Viết hàm dùng một chuỗi ký tự (string) làm tham số đầu tiên và một giới hạn độ dài
nhất định cho mỗi dòng trong cửa sổ giao diện hiển thị kết quả làm tham số thứ hai. Trả
về một chuỗi mới được căn giữa trong giới hạn độ dài của dòng đã cho trước. (Ví dụ nếu
giới hạn độ dài của dòng là 20 và chuỗi nhập vào có độ dài là 10 thì chuỗi sẽ được căn
giữa với 5 khoảng cách trước và sau chuỗi đó). Thêm vào một chương trình để thể hiện
hàm trên.

88. Viết hàm dùng 3 độ dài bất kỳ và thử xem chúng có thể hợp thành một tam giác
không, kết quả của hàm sẽ thuộc dạng Boolean (True/False). Viết một chương trình thể
hiện hàm trên.

89. Viết hàm với chức năng sửa đổi những chữ viết thường không phù hợp thành những
chữ viết hoa. (Những trường hợp cần sửa đổi bao gồm: chữ “i” khi đứng một mình,
những chữ cái đứng đầu câu, những chữ cái đứng sau những dấu “.”, “!”, “?”)

90. Viết hàm có tên “isInteger” với chức năng đánh giá xem thử một chuỗi có phải một
số nguyên hay không. (Những điểu kiện để chuỗi nhập vào là số nguyên bao gồm: bỏ
qua khoảng trống ở trước hoặc sau chuỗi đã nhập, độ dài của chuỗi ngắn nhất là 1 và
chỉ chứa chữ số hoặc nếu ký tự đầu tiên là dấu “+” (hay “-“) thì theo sau đó phai là
một hay nhiều chữ số khác)

91. Viết hàm có tên “precedence” với chức năng đánh giá mức độ ưu tiên của các toán
tử được nhập vào từ bàn phím. ( Mức độ ưu tiên của các toán tử là 1 cho các dấu “+”
và “-“, 2 cho các dấu “*” và “/” và 3 cho “^”. Nếu chuỗi được nhập vào không phải
một toán tử thì giá trị được trả về sẽ là -1) Viết chương trình nhập vào một toán tử và in
ra màn hình mức độ ưu tiên của nó dựa theo hàm trên và in ra thông báo lỗi nếu chuỗi
vừa được nhập không phải là một toán tử.

92. Viết hàm với tham số duy nhất là một số nguyên và đánh giá xem rằng nó có phải số
nguyên tố không, sau đó trả về kết quả dạng True/False. Thêm vào một chương trình cho
phép nhập vào một số nguyên từ bàn phím và in ra màn hình số đó có phải số nguyên tố
hay không.
93. Viết hàm có tên “nextPrime” với tham số duy nhất là một số nguyên nhập từ bàn
phím và trả về kết quả là số nguyên tố gần nhất lớn hơn số nguyên được nhập. Thêm vào
một chương trình cho phép nhập một số nguyên từ bàn phím và in ra màn hình kết quả
của hàm nói trên.

94. Viết hàm có chức năng tạo ra một mật khẩu ngẫu nhiên có độ dài từ 7 đến 10 ký tự,
mỗi ký tự sẽ được chọn một cách ngẫu nhiên trong số các ký tự từ thứ 33 đến 126 trong
bảng ASCII. (Hàm này sẽ không có tham số và sẽ trả về mật khẩu được tạo như là kết
quả duy nhất)

95. Viết một hàm với chức năng tạo ra những biển số xe một cách ngẫu nhiên biết rằng
những biển số cũ hơn sẽ chứ ba chữ cái và được theo sau bới ba chữ số, khi số biển số xe
kiểu cũ trên đã được sử dụng hết thì sẽ chuyển qua định dạng biển số thứ hai là bốn chữ
số theo sau bởi ba chữ cái. (Hàm của bạn nên có tỉ lệ cho ra biển số kiểu cũ và biển số
kiểu mới như nhau/ 50-50) Thêm một chương trình gọi hàm trên và in ra màn hình biển
số vừa được tạo ra.

96. Viết một hàm với chức năng đánh giá xem thử một mật khẩu là tốt hay không (Điều
kiện để một mật khẩu được đánh giá là tốt : phải có ít nhât 8 ký tự, chứa ít nhất một
chữ viết hoa và một chữ viết thường và một chữ số). Hàm của bạn chỉ nên trả về kết quả
là True nếu tất cả điểu kiện trên được đáp ứng và nếu không thì sẽ trả về False.

97. Sử dụng các hàm đã viết trong câu 94 và 96 để viết một chương trình với chức năng
tạo ra một mật khẩu tốt và in nó ra màn hình. Hãy đếm và in ra màn hình số lần thử trước
khi chương trình tạo ra được một mật khẩu tốt. Hãy sắp xếp chương trình để nó có thể
import các hàm trên từ những bài tập trước và gọi chúng trong một hàm khác có tên
“main”.

98. Viết hai hàm có tên “hex2int” và “int2hex” với chức năng chuyển đổi kí tự từ hệ
thập lục phân sang hệ thập phân. Chức năng của hàm thứ nhất là chuyển đổi các chuỗi
chứa các ký tự hệ thập lục sang một con số hệ thập phân. Chức năng của hàm thứ hai là
chuyển đổi một số từ 0 đến 15 sang một ký tự hệ thập lục. Mỗi hàm trên sẽ lấy giá trị cần
quy đổi làm tham số duy nhất và trả về kết quả duy nhất là giá trị đã được quy đổi (Hãy
đảm bảo rằng hàm “hex2int” hoạt động bình thường cho cả chữ hoa và chữ thường)
Hàm của bạn nên kết thúc chương trình bằng một thông báo lỗi nếu tham số được cho
không hợp lệ.

99. Viết một chương trình cho phép người dùng chuyển đổi số từ một hệ số này sang một
hệ số khác. Chương trình của bạn nên hỗ trợ các hệ số từ 2 đến 16 cho cả giá nhập vào và
giá trị kết quả. Nếu người dùng chọn một hệ nằm ngoài giới hạn (2 đến 16) thì chương
trình sẽ hiển thị một thông báo lỗi trước khi thoát ra (Hãy chia chương trình thành
nhiều hàm khác nhau, bao gồm một hàm chuyển đổi hệ bất kì thành hệ thập phân,
một hàm chuyển đổi từ hệ thập phân thành hệ bất kỳ, và một chương trình có thể
nhận dạng hệ cần phải chuyển đổi sang và giá trị cần chuyển đổi được nhập vào bởi
người dùng).

100. Viết một hàm có chức năng cho thấy một tháng cụ thể có bao nhiêu ngày, hàm sẽ sử
dụng hai tham số là: tên tháng dưới dạng một số nguyên từ 1 đến 12 và năm dưới dạng
một số nguyên có bốn chữ số (Hãy đảm bảo rằng hàm của bạn thể hiện đúng số ngày
trong tháng Hai cho các năm nhuận). Thêm vào một chương trình nhận một tháng và
một năm từ người dùng và in ra màn hình số ngày có trong tháng đó.

101. Viết một hàm có chức năng tối giản phân số với hai tham số duy nhất là một tử số và
một mẫu số được nhập vào từ bàn phím và cho ra kết quả là phân số được tạo thành từ tử
và mẫu số trên sau khi tối giản (Ví dụ nếu nhập vào tử số là 5 và mẫu số là 10 thì kết
quả trả về sẽ là ½).

102. Viết một hàm có khả năng qui đổi những đơn vị đo lường trong nấu nướng sang đơn
vị lơn nhất có thể biết rằng 1 cốc = 16 muỗng canh và 1 muỗng canh = 3 muỗng cà phê.
Hàm này sẽ sử dụng hai tham số là lượng cần qui đổi và đơn vị của lượng cần quy đổi
(Hàm này sẽ luôn cố qui đổi các giá trị được nhập vào thành mức cao nhất. Ví dụ
nhập vào 59 muỗng cà phê thì hàm sẽ trả về kết quả là 1 cốc, 3 muỗn canh, 2 muỗng
cà phê)

103. Một “magic date” là một ngày mà khi lấy ngày đó nhân với tháng thi ta sẽ được hai
số cuối cùng của năm (Ví dụ ngày 10 tháng 6 năm 1960 là một magic date vì 10x6 =
60). Viết một hàm đánh giá xem một ngày có phải là một “magic date” hay không và sử
dụng hàm này để tìm và hiển thị ra màn hình tất cả những “magic date” trong thế kỉ 20

You might also like