Chỉ cho phép đầu vào người dùng số nguyên trong Python #
Chỉ cho phép đầu vào người dùng số nguyên:
- Sử dụng vòng lặp
1 để lặp cho đến khi người dùng nhập số nguyên.Copied!
while True: try: num = int[input['Your favorite integer: ']] print[num] break except ValueError: print['Please enter an integer.']
- Sử dụng lớp
2 để cố gắng chuyển đổi giá trị người dùng đã nhập thành một số nguyên.Copied!
while True: try: num = int[input['Your favorite integer: ']] print[num] break except ValueError: print['Please enter an integer.']
- Nếu người dùng nhập số nguyên, hãy sử dụng câu lệnh
3 để thoát ra khỏi vòng lặp.Copied!
while True: try: num = int[input['Your favorite integer: ']] print[num] break except ValueError: print['Please enter an integer.']
Copied!
while True: try: num = int[input['Your favorite integer: ']] print[num] break except ValueError: print['Please enter an integer.']
Chúng tôi đã sử dụng vòng lặp
1 để lặp lại cho đến khi người dùng nhập giá trị số nguyên.Copied!
while True: try: num = int[input['Your favorite integer: ']] print[num] break except ValueError: print['Please enter an integer.']
Hàm đầu vào có một đối số
5 tùy chọn và ghi nó vào đầu ra tiêu chuẩn mà không cần một dòng mới.Copied!
while True: try: num = int[input['Your favorite integer: ']] print[num] break except ValueError: print['Please enter an integer.']
Hàm sau đó đọc dòng từ đầu vào, chuyển đổi nó thành một chuỗi và trả về kết quả.
Hàm Copied!
6 luôn trả về một chuỗi, ngay cả khi người dùng nhập số nguyên.while True:
try:
num = int[input['Your favorite integer: ']]
print[num]
break
except ValueError:
print['Please enter an integer.']
Chúng tôi đã sử dụng lớp
2 để cố gắng chuyển đổi giá trị mà người dùng đã nhập thành một số nguyên.Copied!
while True: try: num = int[input['Your favorite integer: ']] print[num] break except ValueError: print['Please enter an integer.']
Copied!
while True: try: num = int[input['Your favorite integer: ']] print[num] break except ValueError: print['Please enter an integer.']
Nếu nỗ lực chuyển đổi giá trị không thành công, một
8 sẽ được nâng lên và khốiCopied!
while True: try: num = int[input['Your favorite integer: ']] print[num] break except ValueError: print['Please enter an integer.']
9 chạy.Copied!
while True: try: num = int[input['Your favorite integer: ']] print[num] break except ValueError: print['Please enter an integer.']
Khối
9 in thông báo "Vui lòng nhập một số nguyên" và các vòng lặp lại vòng lặp.Copied!
while True: try: num = int[input['Your favorite integer: ']] print[num] break except ValueError: print['Please enter an integer.']
Nếu người dùng nhập số nguyên, chúng tôi in số nguyên và Copied! Copied!
3 ra khỏi vòng lặp while True:
try:
num = int[input['Your favorite integer: ']]
print[num]
break
except ValueError:
print['Please enter an integer.']
100:
raise ValueError
break
except ValueError:
print['Please enter an integer between 1 and 100.']
2.while True:
try:
num = int[input['Integer between 1 and 100: ']]
print[num]
if num
Tuyên bố phá vỡ thoát ra khỏi vòng lặp
3 hoặcCopied!
while True: try: num = int[input['Integer between 1 and 100: ']] print[num] if num 100: raise ValueError break except ValueError: print['Please enter an integer between 1 and 100.']
2.Copied!
while True: try: num = int[input['Integer between 1 and 100: ']] print[num] if num 100: raise ValueError break except ValueError: print['Please enter an integer between 1 and 100.']
Nếu bạn cần đảm bảo người dùng nhập một số nguyên trong một phạm vi nhất định, hãy sử dụng câu lệnh
5.Copied!
while True: try: num = int[input['Integer between 1 and 100: ']] print[num] if num 100: raise ValueError break except ValueError: print['Please enter an integer between 1 and 100.']
Copied!
while True: try: num = int[input['Integer between 1 and 100: ']] print[num] if num 100: raise ValueError break except ValueError: print['Please enter an integer between 1 and 100.']
Đoạn mã chỉ cho phép người dùng nhập số nguyên giữa
6 vàCopied!
while True: try: num = int[input['Integer between 1 and 100: ']] print[num] if num 100: raise ValueError break except ValueError: print['Please enter an integer between 1 and 100.']
7.Copied!
while True: try: num = int[input['Integer between 1 and 100: ']] print[num] if num 100: raise ValueError break except ValueError: print['Please enter an integer between 1 and 100.']
Nếu giá trị không phải là số nguyên, nhỏ hơn
6 hoặc lớn hơnCopied!
while True: try: num = int[input['Integer between 1 and 100: ']] print[num] if num 100: raise ValueError break except ValueError: print['Please enter an integer between 1 and 100.']
7, thìCopied!
while True: try: num = int[input['Integer between 1 and 100: ']] print[num] if num 100: raise ValueError break except ValueError: print['Please enter an integer between 1 and 100.']
8 sẽ được tăng lên và các vòng lặp lại.Copied!
while True: try: num = int[input['Your favorite integer: ']] print[num] break except ValueError: print['Please enter an integer.']
Khi người dùng nhập một số nguyên trong phạm vi được chỉ định, không có
8 nào được nâng lên và chúng tôi thoát ra khỏi vòng lặpCopied!
while True: try: num = int[input['Your favorite integer: ']] print[num] break except ValueError: print['Please enter an integer.']
2.Copied!
while True: try: num = int[input['Integer between 1 and 100: ']] print[num] if num 100: raise ValueError break except ValueError: print['Please enter an integer between 1 and 100.']
mark= eval[raw_input["What is your mark?"]]
try:
int[mark]
except ValueError:
try:
float[mark]
except ValueError:
print "This is not a number"
Vì vậy, tôi cần tạo một chương trình Python nhìn vào dấu của bạn và cung cấp cho bạn các câu trả lời khác nhau tùy thuộc vào nó là gì.
Tuy nhiên, tôi cũng cần thêm một cách để dừng văn bản ngẫu nhiên mà không phải là số được nhập vào chương trình.
Tôi nghĩ rằng tôi đã tìm thấy một giải pháp cho việc này nhưng nó sẽ không vượt qua câu nói đầu tiên cho mã FailSafe có nghĩa là để bắt nó nếu nó là bất cứ điều gì ngoài số.
Vì vậy, khá nhiều điều xảy ra là nếu tôi nhập
mark= eval[raw_input["What is your mark?"]]
try:
int[mark]
except ValueError:
try:
float[mark]
except ValueError:
print "This is not a number"
3 thay vì một số nó thất bại ở dòng đầu tiên và cho tôi trở lại một lỗi có nghĩa là mark= eval[raw_input["What is your mark?"]]
try:
int[mark]
except ValueError:
try:
float[mark]
except ValueError:
print "This is not a number"
4.Làm thế nào tôi có thể thay đổi nó để nó có thể đưa nó vào mã cung cấp cho họ câu lệnh in rằng họ cần nhập một số?
Hỏi ngày 16 tháng 12 năm 2014 lúc 23:51Dec 16, 2014 at 23:51
5
Xóa Eval và mã của bạn là chính xác:
mark = raw_input["What is your mark?"]
try:
int[mark]
except ValueError:
try:
float[mark]
except ValueError:
print["This is not a number"]
Chỉ cần kiểm tra một chiếc phao sẽ hoạt động tốt:
try:
float[mark]
except ValueError:
print["This is not a number"]
Đã trả lời ngày 16 tháng 12 năm 2014 lúc 23:55Dec 16, 2014 at 23:55
1
Có dễ dàng hơn để khai báo giá trị toàn cầu hơn là vượt qua một đối số, trong trường hợp của tôi, nó cũng gây ra lỗi.
def getInput[]:
global value
value = input[]
while not value.isnumeric[]:
print["enter a number"]
value = input["enter again"]
return int[value]
getInput[]
print[value]
#Không thể bình luận :]
Đã trả lời ngày 28 tháng 2 năm 2021 lúc 10:26Feb 28, 2021 at 10:26
Bạn chỉ có thể CAE đến
mark= eval[raw_input["What is your mark?"]]
try:
int[mark]
except ValueError:
try:
float[mark]
except ValueError:
print "This is not a number"
5 hoặc mark= eval[raw_input["What is your mark?"]]
try:
int[mark]
except ValueError:
try:
float[mark]
except ValueError:
print "This is not a number"
6 và nắm bắt ngoại lệ [nếu có]. Bạn đang sử dụng Eval được coi là kém và bạn thêm rất nhiều tuyên bố dự phòng.try:
mark= float[raw_input["What is your mark?"]]
except ValueError:
print "This is not a number"
"Tại sao không sử dụng eval?" Bạn hỏi, ... Hãy thử đầu vào này từ người dùng:
mark= eval[raw_input["What is your mark?"]]
try:
int[mark]
except ValueError:
try:
float[mark]
except ValueError:
print "This is not a number"
7Đã trả lời ngày 16 tháng 12 năm 2014 lúc 23:55Dec 16, 2014 at 23:55
Reut Sharabanireut SharabaniReut Sharabani
29,7k6 huy hiệu vàng69 Huy hiệu bạc86 Huy hiệu đồng6 gold badges69 silver badges86 bronze badges
Bạn có thể sử dụng phương thức đối tượng chuỗi được gọi là isnumeric. Nó hiệu quả hơn thử- ngoại trừ phương thức. Xem mã dưới đây.
def getInput[prompt]:
value = input[prompt]
while not value.isnumeric[]:
print["enter a number"]
value = input["enter again"]
return int[value]
Đã trả lời ngày 5 tháng 4 năm 2019 lúc 8:20Apr 5, 2019 at 8:20
import re
pattern = re.compile["^[0-9][0-9]\*\\.?[0-9]*"]
status = re.search[pattern, raw_input["Enter the Mark : "]]
if not status:
print "Invalid Input"
Abdul Hadi
1.2091 Huy hiệu vàng11 Huy hiệu bạc19 Huy hiệu đồng1 gold badge11 silver badges19 bronze badges
Đã trả lời ngày 17 tháng 12 năm 2014 lúc 1:25Dec 17, 2014 at 1:25
HarikharikhariK
2.50212 huy hiệu bạc16 Huy hiệu đồng12 silver badges16 bronze badges
Trên thực tế, nếu bạn sẽ sử dụng eval [], bạn phải xác định nhiều thứ hơn.
0Copied!
while True: try: num = int[input['Your favorite integer: ']] print[num] break except ValueError: print['Please enter an integer.']
Đó là một cơ chế kiểm soát cơ bản cho eval [].
Đã trả lời ngày 16 tháng 12 năm 2014 lúc 23:59Dec 16, 2014 at 23:59
GLHFGLHFGLHF
3.78510 Huy hiệu vàng36 Huy hiệu bạc81 Huy hiệu đồng10 gold badges36 silver badges81 bronze badges