전주곡:
테스트 케이스 만들기를 훈련시키고 싶었으므로 쉽게 시도해 볼 것입니다.
도전:
주어진 (문자열) 입력 (보이는 ASCII 범위 내)을 가져 와서 숫자인지 추론하고 평가에 사용할 수있는 것을 출력하십시오.
규칙 :
- 숫자는 문자 만 포함합니다
-0123456789,.
- 답은 -1000000000에서 1000000000 사이의 숫자 만 인식하면되지만 임의로 큰 숫자를 인식 할 수 있습니다.
- 전체 프로그램이나 함수를 작성할 수 있습니다.
- 숫자이면 숫자를 식별하고 설명에 출력을 문서화하는 데 사용할 수있는 것을 반환하십시오 (예 :)
My program outputs T if a number, F if not.
. - 입력은 ASCII 범위 내에서 임의의 문자 수이거나 비어 있습니다 (비어있는 경우 숫자가 아닌 경우 출력 한 내용을 반환 함).
- 숫자는 소수점을 포함 할 수 있습니다 (예 :)
3.14
. 그럴 경우 소수점 앞뒤에 적어도 하나의 숫자가 있어야합니다. - 숫자는 선행 또는 후행 0을 가질 수 있습니다 (예 :)
000001.00000
. - 숫자의 정수 부분은 가독성을 위해 쉼표 (예 :)로 세 자리 청크로 나눌 수 있습니다
1,000.23456
. 이 경우 그들은 오른쪽에서 왼쪽으로 매 3 자리 숫자를 나눌 수 있어야합니다 (예.1,234,567
,10,000.202
,123,234.00
,0,123.293
). - 음수는 선행
-
(예 :) 으로 표시됩니다-1.23
.+
양수를 나타내는 선행 은 허용되지 않으므로 잘못된 출력이 발생합니다. - 예외는 유효하고 식별 가능한 출력으로 계산되지 않습니다 (출력이 표준 출력 스트림으로 출력 될 수있는 경우를 제외하고 (예 :
Exception on line N [...]
문자열이 표준 출력 스트림에 배치되는 경우 숫자 / 비수에 대한 출력으로 입력 될 수 있음)).
테스트 사례 :
( My program outputs T if a number, F if not.
버전을 가정 )
123 -> T [on integer]
-123 -> T [negative numbers need to be handled]
0 -> T [on zero]
123.456 -> T [on floating point]
123,456.789 -> T [on evenly divided by 3 digits with comas]
123456789 -> T [thousand separators are not required]
0000001.00000 -> T [on leading/trailing zeros]
00.00 -> T [on zero and leading/trailing zeros]
999999999.9999999999999999999999999999999999999999999999999999 -> T [on close to the maximum value]
-999999999.9999999999999999999999999999999999999999999999999999 -> T [on close to the minimum value]
-> F [on empty]
lolz -> F [on non-number value]
n4melyh4xor -> F [on non-number with digits]
1.2 -> F [on space-padded]
9.3 1.3 -> F [on anyhow separated multiple numbers]
1e5 -> F [no scientific notation]
50cl05e.buty3ts0f4r -> F [on input with letters obscuring the number]
1,2,3,4.5678 -> F [on badly readability-divided number]
1,234.5,678 -> F [on readability-divided floating point part]
.234 -> F [on no leading zero]
+1 -> F [no leading + sign]
1.234.3 -> F [only one decimal point]
12345,678 -> F [on separator stopping mid-way]
code-golf , 최소 문자가 승자입니다.
-123
괜찮다 면 +456
-> 좋고 나쁘다. 아니면 +
파티에서 빠졌습니까?