Nhập số trong python | Laptrinhcanban.com

Nhập số trong python

Hướng dẫn cách nhập số trong python. Bạn sẽ học được tất cả các cách nhập số trong python trong python sau bài học này.

Chúng ta có 3 phương pháp để nhập số trong python như sau:

  • int(input()) trong python: nhập số nguyên trong python
  • float(input()) trong python: nhập số thực trong python
  • vòng lặp for hoặc While True: nhập dãy số từ bàn phím python

Ngoài ra, bạn cũng có thể tìm hiểu thêm cách nhập chuỗi và list trong python tại bài viết Nhập chuỗi và list trong python.

Lỗi logic xảy ra khi bạn nhập 1 số trong python

Khi bạn nhập 1 số trong python mà không có xử lý gì thêm, do hàm input() sẽ xử lý số nhập vào từ bàn phím và trả về kết quả dưới dạng chuỗi, nên kết quả số bạn nhập vào sẽ ở dạng chuỗi str mà thôi.

num = input("Nhập 1 số trong python : ")
print(type(num))
print(num)

#>> Nhập 1 số trong python : 20
#>> <class 'str'>
#>> 20

Khi đó nếu bạn không để ý mà đem kết quả nhập từ bàn phím này đi tính toán với các số khác, lỗi sẽ xảy ra như sau:

num = input("Nhập 1 số trong python : ")
print(num + 2)

#Traceback (most recent call last):
# File "sample.py", line 2, in <module>
# print(num + 2)
#TypeError: unsupported operand type(s) for +: 'str' and 'int'

Lỗi xảy ra là do bạn đã cộng một chuỗi string với một số int.

Lại nữa, nếu bạn sử dụng kết quả nhập từ bàn phím với toán tử * thì kết quả phép tính sẽ là phép lặp chuỗi trong Python chứ không phải là phép nhân giữa 2 số với nhau.

num = input("Nhập 1 số trong python : ")
print(num * 2)

#>> Nhập 1 số trong python : 3
#>> 33

Do đó, sau khi nhập 1 số trong python, chúng ta cần thêm các xử lý chuyển kiểu dữ liệu của kết quả nhập vào sang kiểu số (int hoặc float), trước khi thực hiện các tính toán với số đó.

Nhập số nguyên python | int(input()) trong python

Để nhập số nguyên python, chúng ta nhập số đó từ bàn phím bằng cách sử dụng hàm nhập input(), và sau đó chuyển kiểu dữ liệu của kết quả nhập sang kiểu số thực bằng cách sử dụng hàm int() trong Python.

Ví dụ:

val = input('Enter number: ')
print(val)
print(type(val))
# Enter number: 50
# 50
# <class 'str'>

num = int(val)
print(type(num))
print(num)
# <class 'int'>
# 50

Chúng ta có thể viết gọn các dòng code trên bằng cách sử dụng tới cú pháp int(input()) trong python như sau:

val = int(input('Enter number: ')) 
print(val)
print(type(val))
# Enter number: 50
# 50
# <class 'int'>

Sau khi đã chuyển kết quả nhập dữ liệu sang dạng int như trên, chúng ta có thể tiến hành các phép toán với số nguyên một cách bình thường. Ví dụ:

val = int(input('Enter number: ')) 
print(val + 2)
print(val - 2)
print(val * 2)
print(val / 2)
# Enter number: 50
# 52
# 48
# 100
# 25.0

Nhập số thực python | float(input()) trong python

Để nhập số thực python, chúng ta nhập số đó từ bàn phím bằng cách sử dụng hàm nhập input(), và sau đó chuyển kiểu dữ liệu của kết quả nhập sang kiểu số thực bằng cách sử dụng hàm float() trong Python.

Ví dụ:

val = input('Enter number: ')
print(val)
print(type(val))
# Enter number: 20.1
# 20.1
# <class 'str'>

num = float(val)
print(type(num))
print(num)
# <class 'float'>
# 20.1

Chúng ta có thể viết gọn các dòng code trên bằng cách sử dụng tới cú pháp float(input()) trong python như sau:

val = float(input('Enter number: ')) 
print(val)
print(type(val))
# Enter number: 20.1
# 20.1
# <class 'float'>

Sau khi đã chuyển kết quả nhập dữ liệu sang dạng float như trên, chúng ta có thể tiến hành các phép toán với số thực một cách bình thường. Ví dụ:

val = float(input('Enter number: ')) 
print(val + 2)
print(val - 2.032)
print(val * 9.1)
print(val / 4.6)
# Enter number: 20.1
# 22.1
# 18.068
# 182.91
# 4.369565217391305

Nhập dãy số từ bàn phím python

Nhập dãy số trong python có giới hạn số phần tử

Để nhập dãy số trong python, chúng ta có thể đơn giản lặp lại hàm input() với số lần cụ thể, và chuyển kết quả về dạng int hoặc float bằng cú pháp cú pháp int(input()) trong python hoặc cú pháp float(input()) trong python như sau:

x = int(input("Nhập 1 số:"))
y = int(input("Nhập 1 số:"))
z = int(input("Nhập 1 số:"))
print("Dãy số:",x,y,z)

Màn hình nhập dữ liệu như sau:

Nhập 1 số:20
Nhập 1 số:30
Nhập 1 số:40
Dãy số: 20 30 40

Tuy nhiên khi cần nhập một dãy số có chứa nhiều phần tử, ví dụ như là 100 số chẳng hạn, sẽ thật không thông minh khi chúng ta viết đi viết lại 100 lần hàm input() như trên.

Khi đó, chúng ta có thể nhập số phần tử của dãy số, và sau đó sử dụng vòng lặp for để tiến hành nhập dãy số trong python.

Ví dụ, chúng ta nhập n số nguyên từ bàn phím python như sau:

n = int(input("Nhập số phần tử của dãy số : "))
mylist = []
for i in range(n):
val = int(input('Nhập một số: '))
mylist.append(val)
print(mylist)

Màn hình nhập dữ liệu như sau:

Nhập số phần tử của dãy số : 5
Nhập một số: 1
Nhập một số: 12
Nhập một số: 34
Nhập một số: 5
Nhập một số: 43
[1, 12, 34, 5, 43]

Chúng ta có thể sử dụng cách viết nội hàm list comprehension để viết mã lệnh nhập n số nguyên từ bàn phím python một cách gọn gàng và thông minh hơn như sau:

n = int(input("Nhập số phần tử của dãy số : "))
s = [int(input(">>")) for i in range(n)]
print(s)

Màn hình nhập dữ liệu sẽ như sau:

Nhập số phần tử của dãy số : 5
>> 1
>> 12
>> 34
>> 5
>> 43
[1, 12, 34, 5, 43]

Ngoài cách lặp lại hàm input() bằng vòng lặp for như trên, chúng ta cũng có thể sử dụng một lần nhập duy nhất bằng cách nhập tất cả các phần tử của dãy số cách nhau bởi một ký tự phân cách, ví dụ như là dấu cách chẳng hạn, sau đó dùng phương pháp tách chuỗi và thu về dãy số dưới dạng list như sau:

mystr = input("Nhập các phần tử của dãy số cách nhau bởi dấu cách: ")
mylist = mystr.split()
mylistnum = [int(i) for i in mylist]
print(mylistnum)

Màn hình nhập dữ liệu sẽ như sau:

Nhập các phần tử của dãy số cách nhau bởi dấu cách: 1 12 34 56 77 89
[1, 12, 34, 56, 77, 89]

Lưu ý là ở đây, để có thể tách các số ra khỏi chuỗi, chúng ta vẫn giữ nguyên kết quả nhập dữ liệu ở dạng chuỗi. Sau khi tách số ra khỏi chuỗi rồi, chúng ta mới sử dụng cách viết nội hàm list comprehension để chuyển các phần tử là chuỗi trong list sang dạng số nguyên, như ở trên.

Nhập dãy số trong python không giới hạn số phần tử

Bằng cách sử dụng vòng lặp vô hạn while True có kèm điều kiện để dừng, chúng ta có thể nhập dãy số trong python mà không giới hạn số phần tử cần nhập vào.

Ví dụ, chúng ta nhập một dãy số trong python không giới hạn số phần tử và sẽ kết thúc quá trình nhập khi bạn nhập vào dòng chữ stop như sau:

mylistnum = []

print('Nhập "stop" khi muốn dừng')
while True:
val = input('Nhập một số: ')
if val == 'stop':
print('Kết thúc')
break
mylistnum.append(int(val))
print(mylistnum)

Màn hình nhập dữ liệu sẽ như sau:

Nhập "stop" khi muốn dừng
Nhập một số: 1
Nhập một số: 12
Nhập một số: 21
Nhập một số: 223
Nhập một số: 43
Nhập một số: 45
Nhập một số: 323
Nhập một số: 2
Nhập một số: 33
Nhập một số: 4
Nhập một số: stop
Kết thúc
[1, 12, 21, 223, 43, 45, 323, 2, 33, 4]

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về các cách nhập số trong python rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về python trong các bài học tiếp theo.

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.