2013-02-17 4 views
0

이 출력은 무엇입니까? 나는 결과물을 보지만 그 이유는 이해할 수 없다. 모든raw_input 함수의 쉼표

def multiple(x,y): 
    mul = x*y 
    return mul 

x=int(raw_input("Enter value 1 ")), 
y=int(raw_input("Enter value 2 ")) 
print multiple(x,y) 

답변

0

첫째, 당신은 multiple를라는 함수를 정의하고이 xy (multiple의 매개 변수)를 곱한 다음 그 값을 반환합니다. 그런 다음 두 개의 다른 변수 인 xy (위의 매개 변수와 같지 않음)에 대한 입력을받으며 (multiple을 호출하여) 곱셈을하고 print을 출력합니다. 출력으로 표시됩니다.

그러나 쉼표는 터플로 x을 간단하게 정의합니다.

2

콤마는 x을 크기가 1 인 튜플 (int 포함)로 만듭니다.

간단한 테스트 :

>>> a = 1, 
>>> print a 
(1,) 
4
코드에

상기 ,raw_input 끝에 x은 실제로 사용자 입력을 포함하는 tuple 의미한다. 함수를 호출 할 때 실제로 수행하는 작업은 튜플에 정수를 곱하는 것입니다.이 튜플은 튜플 (x) y 번을 곱하는 것입니다. 예를 들어

:

>>> x = 2, 
>>> x * 5 
(2, 2, 2, 2, 2) 
>>> x = 2 
>>> x * 5 
10 
2

이있는 큰 에러가 X 및 Y는 (a 문자열 일명) 참조되지 않으면, 함수는 엉망이 될 수 있다는 것이다. 이것은 말을 해결할 수 있습니다 : try: mul = float(x) * float(y) 을 한 후, X 또는 Y 숫자가 아닌 경우이 경우, except TypeError: print('Please do not give a string...') 을 경우를 잡기 위해, 당신은 mul = None 자, 당신이 말하는, 그래서 그 MUL이 유효하지 않습니다 보여주고 싶은 당신 try 및 except 문과 일치하여 return mul을 사용할 수 있습니다.

이렇게하면 입력이 문자가 아닌 소수점 숫자가됩니다.