>

문자열 대신 정수를 입력 할 때 코드가 "잘못"과 같은 말을하는 방법을 설명해 주시겠습니까? 예 :

name = ("Enter you name: ")
if name == int:
    print("Wrong")

위에서 사용한 코드를 사용하려고했지만 프로그램이 그냥 건너 뜁니다.


  • 답변 # 1

    사용자에게 이름을 요청하려면 입력을 추가해야합니다. 그런 다음 숫자인지 확인하십시오.

    name = input("Enter you name: ")
    if name.isnumeric():
        print("Wrong")
    
    

    알파벳이 아닌 모든 문자를 설명하는 것이 좋습니다. 그런 다음 입력이 알파벳인지 확인하십시오.

    name = input("Enter you name: ")
    if not name.isalpha():
        print("Wrong")
    
    

    정확해질 때까지 계속 묻는 코드를 루프에 넣는 것이 좋습니다.

  • 답변 # 2

    이것을 시도하십시오

    def is_number(s):
        try:
            float(s)
            print("Wrong")
        except ValueError:
            print(s)
    
    

  • 답변 # 3

    if 문을 사용하여 입력 함수에서 특정 정수 문자열이 있는지 확인할 수 있습니다. 입력 함수를 사용하여 이름을 저장하지만 자동으로 문자열로 평가됩니다. 따라서 if 문을 사용하여 정수 (입력 함수에 문자열로 저장 됨)를 찾습니다. 발견되면 오류 메시지가 나타납니다.

    name = input("Enter your name: ")
    if '1' in name:
        print('Wrong')
    if '2' in name:
        print('Wrong')
    if '3' in name:
        print('Wrong')
    if '4' in name:
        print('Wrong')
    if '5' in name:
        print('Wrong')
    if '6' in name:
        print('Wrong')
    if '7' in name:
        print('Wrong')
    if '8' in name:
        print('Wrong')
    if '9' in name:
        print('Wrong')
    if '0' in name:
        print('Wrong')
    
    

    이름을 입력 할 때마다 각 if 문은 오류 메시지 내에 정수가 문자열로 저장되어 있는지 확인합니다. 저장하지 않으면 오류 메시지가 발생하지 않습니다. 정수가 문자열로 저장되면 오류 메시지가 나타납니다.

  • 답변 # 4

    input 를 사용해야합니다  사용자로부터 입력을 받기 위해 기능. 와이즈 비즈

    name = input("Enter you name: ") 를 사용하여 주어진 정보가 int로 변환 가능한지 (입력이 항상 문자열로 값을 저장하기 때문에) 확인할 수 있습니다  성명서. 이것은 이름을 int로 캐스팅하려고 시도합니다. 성공하면 int입니다. 그렇지 않으면 정수가 아닙니다.

    try except

    또는 pyzwyz를 사용할 수 있습니다  이름에 알파벳 문자 만 포함되도록하는 내장 함수 (아마도 더 간단 함) :

    try: int(name) print("Wrong") except ValueError: pass

    isalpha

관련 자료

  • 이전 angular - AngularDart에서 테이블을 표시하는 방법
  • 다음 typescript - Angular 5에서 선택한 드롭 다운 값을 동적으로 설정하는 방법