Khởi động
Trả lời câu hỏi mở đầu trang 97 SGK Tin học 10
Để tương tác với người sử dụng trong khi thực hiện chương trình, các ngôn ngữ lập trình có các câu lệnh để đưa dữ liệu ra màn hình hay nhập dữ liệu vào từ bàn phím. Em đã biết Python có lệnh print() dùng để đưa dữ liệu ra màn hình. Để nhập dữ liệu từ bàn phím khi thực hiện chương trình, Python sử dụng câu lệnh input().
Em dự đoán lệnh nhập dữ liệu input() có cú pháp và chức năng như thế nào?
Phương pháp giải:
Dựa vào kiến thức đã học về lệnh print() đưa ra dự đoán về lệnh input()
Lời giải chi tiết:
- Cú pháp: <biến> = input(<Dòng thông báo>)
- Chức năng: Nhập dữ liệu từ bàn phím
Hoạt động 1
Trả lời câu hỏi Hoạt động 1 trang 97 SGK Tin học 10
Quan sát lệnh sau và trả lời các câu hỏi: Lệnh input ( ) cho phép nhập dữ liệu từ đâu? Giá trị được nhập sẽ là số hay xâu?
Phương pháp giải:
Quan sát lệnh và dựa vào lý thuyết phần 1. Các lệnh vào ra đơn giản
Lời giải chi tiết:
- Lệnh input() cho phép nhập dữ liệu từ thiết bị vào chuẩn, thường là bàn phím.
- Giá trị nhập có thể là số, xâu hay biểu thức và kết quả là một xâu kí tự.
⇒ Giá trị nhập ở lệnh trên là số.
Hoạt động 2
Trả lời câu hỏi Hoạt động 2 trang 98 SGK Tin học 10
Chúng ta đã biết một số kiểu dữ liệu cơ bản như số nguyên, số thực và xâu kí tự. Trong Python có cách nào để nhận biết được kiểu dữ liệu của biến không?
Phương pháp giải:
Lệnh type() dùng để nhận biết kiểu dữ liệu của biến trong Python.
Lời giải chi tiết:
- Một số kiểu dữ liệu cơ bản: int (số nguyên), float (số thực), str (xâu kí tự), bool (lôgic),..
- Có nhận biết biết được kiểu dữ liệu. Lệnh type() dùng để nhận biết kiểu dữ liệu của biến trong Python.
? mục 2
Trả lời câu hỏi mục 2 trang 98 SGK Tin học 10
Xác định kiểu và giá trị của các biểu thức sau:
a) “15 + 20 - 7”
b) 32 > 45
c) 13 != 8 + 5
d) 1 == 2
Phương pháp giải:
Một số kiểu dữ liệu cơ bản: int (số nguyên), float (số thực), str (xâu kí tự), bool (lôgic),..
Lời giải chi tiết:
a, số nguyên và giá trị 28.
b, kiểu bool trả về giá trị false
c, kiểu bool trả về giá trị false
d, kiểu bool trả về giá trị false
Hoạt động 3
Trả lời câu hỏi Hoạt động 3 trang 98 SGK Tin học 10
1. Có chuyển đổi dữ liệu kiểu này sang kiểu khác được không?
Phương pháp giải:
Dựa vào lý thuyết phần 2. Chuyển đổi kiểu dữ liệu cơ bản của Python
Lời giải chi tiết:
Các lệnh int(), float(), str() có chức năng chuyển đổi dữ liệu từ các kiểu khác tương ứng về kiểu số nguyên, số thực và xâu kí tự.
2. Giả sử có biến s với giá trị “123”. Nếu muốn biến s có giá trị là số nguyên 123 chứ không phải là xâu “123” thì em phải làm gì?
Phương pháp giải:
Lệnh int( ) có chức năng chuyển đổi số thực hoặc xâu chứa số nguyên thành số nguyên
Lời giải chi tiết:
Muốn biến s có giá trị là số nguyên 123 chứ không phải là xâu “123” cần: int(s)
? mục 3
Trả lời câu hỏi mục 3 trang 99 SGK Tin học 10
1. Mỗi lệnh sau sẽ trả lại các giá trị nào?
a) str(150)
b) int(“1110”)
c) float(“15.0”)
Phương pháp giải:
Một số kiểu dữ liệu cơ bản: int (số nguyên), float (số thực), str (xâu kí tự), bool (lôgic),..
Lời giải chi tiết:
a) “150”: kiểu xâu kí tự
b) 1110: số nguyên
c) 15.0: số thực
2. Lệnh nào sau đây sẽ báo lỗi?
A. int("12.0")
B. float(13 + 1)
C. str(17.001)
Phương pháp giải:
Lệnh int() không chuyển đổi được xâu chứa số thực.
Lời giải chi tiết:
Lệnh sẽ báo lỗi:
A. int("12.0")
Hoạt động 4
Trả lời câu hỏi Hoạt động 4 trang 99 SGK Tin học 10
Dữ liệu nhập từ bàn phím bằng lệnh input() luôn là xâu kí tự nên muốn nhập dữ liệu đầu vào là số nguyên hay số thực thì phải làm thế nào?
Phương pháp giải:
Nếu cần nhập số nguyên thì dùng lệnh int( )
Nếu cần nhập số thực thì dùng lệnh float( )
Lời giải chi tiết:
Muốn nhập dữ liệu đầu vào là số nguyên hay số thực thì cần dùng lệnh int(), float().
? mục 4
Trả lời câu hỏi mục 4 trang 100 SGK Tin học 10
Dùng lệnh x = input("Nhập số x:") để nhập số cho biến x là đúng hay sai? Vì sao?
Phương pháp giải:
Dựa vào kiến thức đã học
Lời giải chi tiết:
Sai vì dùng lệnh x = input (“Nhập số x: “) để chuyển đổi số nhập sang kiểu số nguyên.
Luyện tập
Trả lời câu hỏi Luyện tập trang 100 SGK Tin học 10
1. Những lệnh nào trong các lệnh sau đây sẽ báo lỗi?
a) int("12 + 45")
b) float(123.56)
c) float("123,5.5")
Phương pháp giải:
Lệnh int( ) không chuyển đổi các xâu có công thức.
Lệnh float( ) dùng để chuyển đổi số nguyên và xâu kí tự thành số thực. Không có dấu phẩy “,” trong lệnh.
Lời giải chi tiết:
Lệnh sẽ báo lỗi
a) int("12 + 45")
c) float("123,5.5")
2. Vì sao khi nhập một số thực cần viết lệnh float(input( ))?
Phương pháp giải:
Lệnh input( ) cho kết quả là xâu kí tự
Lệnh float( ) dùng để chuyển đổi số nguyên và xâu kí tự thành số thực.
Lời giải chi tiết:
Do dữ liệu nhập từ bàn phím bằng lệnh input() luôn là xâu kí tự nên muốn nhập một số thực cần viết lệnh float(input()) để chuyển đổi dữ liệu từ kiểu xâu kí tự sang kiểu số thực
Vận dụng
Trả lời câu hỏi Vận dụng trang 100 SGK Tin học 10
1. Viết chương trình nhập giá trị ss là số giây từ bàn phím. Thông báo ra màn hình thời gian ss giây sau khi đổi thành thời gian tính bằng ngày, giờ, phút, giây.
Phương pháp giải:
Phát triển từ vận dụng bài trước
Lời giải chi tiết:
ss = int(input("Nhập số giây: "))
ngay=ss//86400
gio=ss//3600-ngay*24
phut=ss//60-ngay*24*60-gio*60
giay=ss-ngay*24*3600-gio*3600-phut*60
print("ss = ", ss, " = ", ngay," ngay ", gio, "gio", phut, " phut ", giay, " giay ")
2. Viết chương trình nhập ba số thực dương a, b, c và tính chu vi, diện tích của tam giác có độ dài các cạnh là a, b, c với a, b, c > 0 và thoả mãn bất đẳng thức tam giác.
Gợi ý: Công thức Heron tính diện tích tam giác: với p là nửa chu vi tam giác.
Phương pháp giải:
Công thức Heron tính diện tích tam giác: với p là nửa chu vi tam giác.
Lời giải chi tiết:
import math
a=int(input("Nhập cạnh tam giác thứ nhất:"));
b=int(input("Nhập cạnh tam giác thứ hai:"));
c=int(input("Nhập cạnh tam giác thứ ba:"));
cv=a+b+c
p=cv/2
dt=math.sqrt(p*(p-a)*(p-b)*(p-c))
print("Chu vi = ", cv)
print("Diện tích = ", dt)