2016-09-15 3 views
0

입력을 목록으로 사용하지만 각 변수를 부동 소수점으로 사용하고 싶습니다. 목록이 문자열로 정의되어 나는 아래 이렇게 명시 적으로 같은보다 다른이 변환을 만들 수있는 간단한 방법이, 내가, 예를 들어, CONCATENATE보다는 추가 할 :목록을 부동 변수로 변환

edges = input("Enter three edges: ").split(", ") 
print("The perimeter is", (float(edges[0]) + float(edges[1]) + float(edges[2]))) 

답변

1

당신이 map을 사용할 수 있습니다 float들로 변환하고 sum 그들을 합계 :

print("The perimeter is", sum(map(float, edges))) 

map는 호출 (여기 float) 소요하고 반복 가능한 (edges 여기)의 모든 요소에 적용된다. 이것은 map 반복자 (iterator를 통해 반복 될 수있는)를 생성 한 다음 sum에 제공하여이를 요약합니다.

그런 다음 인쇄하십시오.

당신은 물론 모두 input하고 split 결과를 반환하기 때문에 모두 함께 결합 못생긴 작은 표현 만들 수 있습니다

print("Sum is ", sum(map(float, input('Enter three edges ').split(",")))) 

을하지만,하지가 추한.

1

지도는 당신의 친구

sum(map(float, edges)) 

또는 발전기 표현

sum(float(f) for f in edges) 

재밌게입니다! 아마 당신은 단지 숫자로 가장자리를 원하기 때문에

0

, 일찍 변환 할 수 있습니다 :

edges = [float(edge) for edge in input("Enter three edges: ").split(", ")] 
print("The perimeter is", sum(edges)) 

샘플 실행 :

Enter three edges: 1.2, 3.4, 5.6 
The perimeter is 10.2 
관련 문제