Hướng dẫn how do you prevent a user from entering a string in python? - làm cách nào để ngăn người dùng nhập chuỗi trong python?

Các loại dữ liệu int và float

Chúng ta đã thấy một vài ví dụ về cách Python có thể thực hiện tính toán số. Python thực sự sử dụng hai loại dữ liệu khác nhau để lưu trữ các giá trị số. Kiểu dữ liệu

r = a % b
# r now has the value 2
7 được sử dụng để lưu trữ số nguyên, trong khi kiểu dữ liệu
r = a % b
# r now has the value 2
8 được sử dụng để lưu trữ số điểm nổi không tích phân.

Nếu bạn lưu trữ một giá trị số nguyên trong một biến, Python sẽ tự động sử dụng kiểu dữ liệu

r = a % b
# r now has the value 2
7 cho số lượng đó. Nếu bạn thực hiện số học với các biến có giá trị số nguyên, kết quả của các tính toán đó sẽ là số nguyên, ngoại trừ trong trường hợp phân chia. Do kết quả của nhiều bộ phận liên quan đến hai toán hạng số nguyên không thể được biểu diễn dưới dạng số nguyên, Python mặc định để chuyển đổi kết quả của mỗi bộ phận với hai toán hạng số nguyên thành kiểu dữ liệu
r = a % b
# r now has the value 2
8.

Nếu một hoặc nhiều toán hạng trong bất kỳ hoạt động số học nào là nổi, kết quả sẽ luôn là một chiếc phao.

Python cũng bao gồm một vài toán tử đặc biệt để sử dụng với dữ liệu INT, toán tử phân chia số nguyên

greeting = 'Hello, World!'
1 và toán tử số nguyên còn lại
greeting = 'Hello, World!'
2. Toán tử phân chia số nguyên trả về thương số kết quả khi chúng tôi chia cái này thành int thành một int khác.

a = 17
b = 5
q = a//b
# q now has the value 3

Toán tử số nguyên còn lại mang lại phần còn lại còn lại sau khi chúng tôi chia một int cho một int khác.

r = a % b
# r now has the value 2

Chuyển đổi số thành văn bản và văn bản thành các số

Python cũng có kiểu dữ liệu

greeting = 'Hello, World!'
3, được sử dụng để lưu trữ văn bản. Bạn có thể tạo văn bản theo một trong hai cách trong chương trình Python. Bạn có thể gán một văn bản theo nghĩa đen cho một biến, trông như thế này:

greeting = 'Hello, World!'

Bạn cũng có thể có được một số văn bản bằng cách sử dụng lệnh

greeting = 'Hello, World!'
4, nhắc nhở người dùng nhập một số văn bản.

name = input('Enter your name: ')

Văn bản xuất hiện trong

greeting = 'Hello, World!'
4 là một lời nhắc, cho người dùng biết thông tin họ dự kiến ​​sẽ nhập. Khi chương trình của bạn đạt đến lệnh đầu vào, nó sẽ hiển thị lời nhắc và chờ người dùng nhập một số đầu vào. Ngay khi người dùng truy cập, văn bản của họ sẽ được lưu trữ trong biến mà bạn đã gán kết quả đầu vào.

Lệnh

greeting = 'Hello, World!'
4 luôn trả về văn bản như kết quả của nó, ngay cả trong trường hợp bạn nhắc người dùng nhập một số. Nếu bạn muốn diễn giải văn bản mà người dùng nhập dưới dạng loại số, bạn cần sử dụng lệnh chuyển đổi loại. Ví dụ: nếu bạn muốn giải thích đầu vào của người dùng dưới dạng số lượng số nguyên, bạn sẽ sử dụng biểu mẫu này:

age = int(input('Enter your age: '))

Nếu bạn muốn giải thích đầu vào là một số thực sự nổi, bạn sử dụng biểu mẫu này thay thế:

height = float(input('Enter your height in meters: '))

Một hoạt động quan trọng mà kiểu dữ liệu chuỗi hỗ trợ là sự kết hợp, kết nối các chuỗi với nhau để tạo thành các chuỗi lớn hơn.

greeting = 'Hello, ' + name

Concatenation chỉ hoạt động với hai toán hạng chuỗi. Nếu bạn muốn sử dụng kết nối với các loại dữ liệu khác, bạn sẽ phải chuyển đổi dữ liệu đó thành một chuỗi bằng cách sử dụng lệnh str ().

compliment = 'You look good for someone who is ' + str(age) + '.'

Tuyên bố IF-Else

Cấu trúc cơ bản trong Python để đưa ra quyết định và hành động trên các trường hợp khác nhau là tuyên bố if-else. Hình thức cơ bản của câu lệnh if-else là:

if <test>:
  # Statements to execute if <test> is true
else:
  # Statements to execute if <test> is false

Tuyên bố IF-Else bắt đầu bằng cách thực hiện một bài kiểm tra có kết quả có thể đúng hoặc sai. Nếu kết quả của bài kiểm tra là đúng, tập hợp các câu lệnh trong khối thụt đầu tiên được thực thi. Mặt khác, các câu lệnh trong khối sau

greeting = 'Hello, World!'
7 sẽ được thực thi. Khi các câu lệnh trong nhánh đã chọn đã chạy, việc thực thi tiếp tục với câu lệnh tiếp theo sau if-else.

Cách phổ biến nhất để hình thành các bài kiểm tra cho một câu lệnh if-hữu ích là bằng cách sử dụng các toán tử so sánh. Dưới đây là một bảng của các nhà khai thác so sánh có sẵn.

nhà điều hànhÝ nghĩa
==bằng
! =Không bằng
<ít hơn
>là lớn hơn
<= nhỏ hơn hoặc bằng
> =là lớn hơn hoặc bằng

Đặc biệt là bài kiểm tra so sánh ==. Một sai lầm rất phổ biến mà các lập trình viên bắt đầu sẽ gây ra là với chúng tôi = thay cho == trong một bài kiểm tra. = có nghĩa là 'Đặt thứ ở bên trái vào giá trị bên phải' và không 'so sánh thứ bên trái với thứ bên phải.'

Dưới đây là hai ví dụ về tuyên bố IF-Else đang sử dụng.

# First example
x = float(input('Enter a value for x: '))

if x < 0:
  absX = -x
else:
  absX = x
print('The absolute value of x is '+str(absX))

# Second example
p = float(input('Enter a value for p: '))
q = float(input('Enter a value for q: '))

if q == 0.0:
  print('Error: division by 0.')
else:
  print('p/q = ' + str(p/q))

Lưu ý rằng việc đặt một câu lệnh if-else là hoàn toàn hợp pháp trong một câu lệnh khác. Điều này được gọi là một if-else lồng nhau.

r = a % b
# r now has the value 2
0

Xét nghiệm hỗn hợp

Một giải pháp thay thế hữu ích để đặt một câu lệnh IF-Else bên trong khác là có thể hình thành một bài kiểm tra ghép. Một thử nghiệm ghép là một thử nghiệm được tạo thành từ hai hoặc nhiều thử nghiệm thông thường được nối với nhau bởi các đầu nối logic

greeting = 'Hello, World!'
8 hoặc
greeting = 'Hello, World!'
9.

Chúng ta có thể viết lại ví dụ trước bằng cách nói rằng bạn phải cả lớn tuổi hơn 12 vừa cao hơn năm feet để lái chiếc tàu con lăn:

r = a % b
# r now has the value 2
1

Các hình thức biến thể

Python cũng cho phép câu lệnh IF-Else được xây dựng trong một loạt các dạng biến thể. Biến thể đầu tiên là bạn có thể xây dựng một câu lệnh IF chỉ có nhánh IF và không có nhánh khác.

r = a % b
# r now has the value 2
2

Một biến thể hữu ích khác xuất hiện khi chúng ta cần thực hiện một loạt các so sánh để phân loại một cái gì đó thành nhiều hơn hai loại có thể. Một cách để thực hiện phân loại này là sử dụng các câu lệnh if-else lồng nhau.

r = a % b
# r now has the value 2
3

Loại nhiệm vụ phân loại này xuất hiện thường xuyên trong thực tế đến nỗi Python có một biến thể đặc biệt của IF-Else sử dụng một nhánh 'IF IF' được dán nhãn

name = input('Enter your name: ')
0.

r = a % b
# r now has the value 2
4

Chương trình ví dụ - Thực hiện thay đổi

Chương trình sau đây cho thấy việc sử dụng các câu lệnh số học số nguyên và if-Else. Chương trình nhắc người dùng nhập số tiền bằng đồng xu để thay đổi. Chương trình sau đó sử dụng một thuật toán để tính toán số quý, đồng xu, biệt danh và đồng xu cần được tính ra để thay đổi số tiền đó.

r = a % b
# r now has the value 2
5

Chương trình sử dụng logic sau đây để tính toán số tiền của mỗi đồng xu để sử dụng:

r = a % b
# r now has the value 2
6

Dưới đây là một ví dụ về cách thức hoạt động này. Giả sử chúng tôi đã nhập 87 xu.

  1. 87 // 25 là 3, vì vậy chúng tôi đưa ra 3 quý.
  2. Sau khi đưa ra các quý, chúng tôi có 87 - 3*25 = 12 hoặc 87%25 = 12 xu để đưa ra.
  3. 12 // 10 là 1, vì vậy chúng tôi đưa ra 1 xu.
  4. Sau khi đưa ra xu, chúng ta có 12 - 1*10 = 2 hoặc 12%10 = 2 xu để đưa ra.
  5. 2 // 5 là 0, vì vậy chúng tôi đưa ra 0 biệt danh.
  6. 2%5 là 2, vì vậy chúng tôi vẫn còn 2 xu để đưa ra.
  7. Cuối cùng, chúng tôi đưa ra 2 xu là 2 đồng xu.

Để đảm bảo rằng đầu ra được định dạng độc đáo với việc sử dụng đúng các dạng số nhiều và số ít, chúng tôi sử dụng một tập hợp các câu lệnh IF-Else để giúp chúng tôi quyết định cách in đầu ra. Bạn có thể thấy logic xử lý trường hợp của 0 xu không?