python 기반 문자열 의 디지털 알고리즘 여 부 를 판단 합 니 다.

알고리즘 1
1.소수 와 정수:소수점 개수 가 1 이면 소수 일 수 있 습 니 다.소수점 개수 가 0 이면 정수 일 수 있다.소수점 개수 가 0 도 1 도 아니면 숫자 가 아니다.
2.소수 라면 양수 와 음 수 를 나 누 는 경우:첫 번 째 가 마이너스 라면 마이너스 일 수 있 습 니 다.1 위 가 마이너스 가 아니라면,정 소수 일 수 있다.
1)첫 번 째 가 마이너스 라면 마이너스 로 한다.
2)첫 번 째 가 마이너스 가 아니라면혹은 첫 번 째 는 마이너스,첫 번 째 마이너스 빼 고."............................................................................
3)남 은 문자 가'0123456789'안에 있 는 지,없 으 면 숫자 가 아 닌 지 판단 한다.
3.정수 라면 양수 와 음 수 를 똑 같이 나 누 는 경우.첫 번 째 가 마이너스 라면 마이너스,첫 번 째 가 마이너스 가 아니라면 플러스 일 수 있다.
1)첫 번 째 에이 마이너스 면 마이너스 빼 기.
2)첫 번 째 가 마이너스 가 아니라면혹은 첫 번 째 는 마이너스,첫 번 째 마이너스 빼 고.남 은 문자 가 모두'0123456789'안에 있 는 지,없 으 면 숫자 가 아니 라 숫자 입 니 다.

 #encoding=utf-8
def is_number(s):
  if s.count(".")==1:  #     
    if s[0]=="-":
      s=s[1:]
    if s[0]==".":
      return False
    s=s.replace(".","")
    for i in s:
      if i not in "0123456789":
        return False
    else:        #  else for   
      return True
  elif s.count(".")==0:  #     
    if s[0]=="-":
      s=s[1:]
    for i in s:
      if i not in "0123456789":
        return False
    else:
      return True
  else:
    return False
print(is_number("1334345345"))
print(is_number("1.12344565"))
print(is_number("-14344343"))
print(is_number("-1.123456"))
print("**********************")
print(is_number("abc"))
print(is_number("1.32.2"))
print(is_number(".2344"))
print(is_number("1234a"))
print(is_number("--1.1"))
print(is_number("--1abc"))

알고리즘 2
1.첫 번 째 가 마이너스 나 숫자 인지 판단 하고 그렇지 않 으 면 숫자 가 아니다.그렇다면,숫자 일 수도 있다.
2."."와"-"의 개수 가 모두 1 보다 작은 지 판단 하고,그렇지 않 으 면 숫자 가 아니 며,만약 그렇다면 숫자 일 수 있 습 니 다.
3."."와"-"를 제거 합 니 다.
4.남 은 문자 가 모두'0123456789'안에 있 는 지 판단 하고 있 지 않 으 면 숫자 가 아 닙 니 다.그렇지 않 으 면 숫자 입 니 다.

#encoding=utf-8
def is_number(s):
  if s[0]=="-" or s[0] in "0123456789":
    if s.count(".")<=1 and s.count("-")<=1:
      s=s.replace("-","").replace(".","")
      #print (s)
      for i in s:
        if i not in "0123456789":
          return False
      else:        #  else for  
        return True
    else:
      return False 
  else:
    return False
print(is_number("1334345345"))
print(is_number("1.12344565"))
print(is_number("-14344343"))
print(is_number("-1.123456"))
print("**********************")
print(is_number("abc"))
print(is_number("1.32.2"))
print(is_number(".2344"))
print(is_number("1234a"))
print(is_number("--1.1"))
print(is_number("--1abc"))

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기