Hướng dẫn how to make an input only accept numbers in python - cách tạo đầu vào chỉ chấp nhận các số trong python

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 hello thay vì một số lượng nó không thành công ở dòng đầu tiên và cho tôi trở lại một lỗi cho biết exceptions:NameError: name 'happy' is not defined.

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

Hướng dẫn how to make an input only accept numbers in python - cách tạo đầu vào chỉ chấp nhận các số trong python

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

Hướng dẫn how to make an input only accept numbers in python - cách tạo đầu vào chỉ chấp nhận các số trong python

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 = raw_input("What is your mark?")
try:
    int(mark)
except ValueError:
    try:
        float(mark)
    except ValueError:
        print("This is not a number")
0 hoặc
mark = raw_input("What is your mark?")
try:
    int(mark)
except ValueError:
    try:
        float(mark)
    except ValueError:
        print("This is not a number")
1 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 = raw_input("What is your mark?")
try:
    int(mark)
except ValueError:
    try:
        float(mark)
    except ValueError:
        print("This is not a number")
2

Đã trả lời ngày 16 tháng 12 năm 2014 lúc 23:55Dec 16, 2014 at 23:55

Hướng dẫn how to make an input only accept numbers in python - cách tạo đầu vào chỉ chấp nhận các số trong python

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.Reut Sharabani

#Không thể bình luận :)6 gold badges69 silver badges86 bronze badges

Đã trả lời ngày 28 tháng 2 năm 2021 lúc 10:26

def getInput(prompt):
    value = input(prompt)
    while not value.isnumeric():
        print("enter a number")
        value = input("enter again")
    return int(value)

Bạn chỉ có thể CAE đến

mark = raw_input("What is your mark?")
try:
    int(mark)
except ValueError:
    try:
        float(mark)
    except ValueError:
        print("This is not a number")
0 hoặc
mark = raw_input("What is your mark?")
try:
    int(mark)
except ValueError:
    try:
        float(mark)
    except ValueError:
        print("This is not a number")
1 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.Apr 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"

"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 = raw_input("What is your mark?")
try:
    int(mark)
except ValueError:
    try:
        float(mark)
    except ValueError:
        print("This is not a number")
2

Reut Sharabanireut Sharabani1 gold badge10 silver badges19 bronze badges

29,5K6 Huy hiệu vàng69 Huy hiệu bạc86 Huy hiệu ĐồngDec 17, 2014 at 1:25

Hướng dẫn how to make an input only accept numbers in python - cách tạo đầu vào chỉ chấp nhận các số trong python

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.hariK

Đã trả lời ngày 5 tháng 4 năm 2019 lúc 8:2011 silver badges16 bronze badges

Abdul Hadi

acceptables=[1,2,3,4,5,6,7,8,9,0,"+","*","/","-"]
try:
    mark= eval(int(raw_input("What is your mark?")))
except ValueError:
    print ("It's not a number!")
if mark not in acceptables:
    print ("You cant do anything but arithmetical operations!")

1.1991 Huy hiệu vàng10 Huy hiệu bạc19 Huy hiệu đồng

Đã trả lời ngày 17 tháng 12 năm 2014 lúc 1:25Dec 16, 2014 at 23:59

Hướng dẫn how to make an input only accept numbers in python - cách tạo đầu vào chỉ chấp nhận các số trong python

HarikharikGLHF

2.43211 Huy hiệu bạc16 Huy hiệu đồng10 gold badges35 silver badges80 bronze badges

Làm thế nào để bạn thực hiện một đầu vào chỉ chấp nhận số nguyên trong Python?

Làm thế nào để chỉ lấy đầu vào số nguyên trong câu trả lời của mã Python..
# Để nhắc người dùng nhập một số nguyên, chúng tôi thực hiện như sau:.
hợp lệ = sai ..
Mặc dù không hợp lệ: #Loop cho đến khi người dùng nhập int hợp lệ ..
x = int (đầu vào ('nhập một số nguyên:')).
hợp lệ = true #Nếu đạt được điểm này, x là một int hợp lệ ..
ngoại trừ valueError:.

Làm thế nào để bạn hạn chế số lượng đầu vào trong Python?

# nhập một số Thử: num = int (input ("nhập số nguyên:")) in ("num:", num) ngoại trừ valueError: in ("vui lòng chỉ nhập số nguyên ...") Chạy 1: nhập mộtSố nguyên số: 10 Num: 10 Chạy 2: Nhập số nguyên: 12.5 Vui lòng chỉ nhập Integer ... Chạy 3: Nhập số nguyên: Xin chào Chỉ nhập Integer Integer ...num = int(input("Enter an integer number: ")) print("num:", num) except ValueError: print("Please input integer only...") RUN 1: Enter an integer number: 10 num: 10 RUN 2: Enter an integer number: 12.5 Please input integer only... RUN 3: Enter an integer number: Hello Please input integer only...

Làm thế nào để bạn lấy số làm đầu vào?

Sử dụng các thuộc tính sau để chỉ định các hạn chế:..
Tối đa - Chỉ định giá trị tối đa được phép ..
Min - Chỉ định giá trị tối thiểu được phép ..
Bước - Chỉ định các khoảng số hợp pháp ..
Giá trị - Chỉ định giá trị mặc định ..