argv [1]에서 float 숫자로 변환하는 데 어려움을 겪고 있습니다. 기본적으로 소수점 다음에있는 int를 전달하려고 시도하고 가장 가까운 정수로 반올림합니다. (기본 스타터 파이썬 프로젝트) 저는 플로트로 조금 놀아 보려고 노력해 왔습니다.float with argv에서
import sys
x = int(sys.argv[1])
num = x + .5
s = str(num())
point = s.find('.')
print s[:point]
if __name__ == "__main__":
x(int(sys.argv[1]))
편집 (현재 코드는 커피와 정리 후) :
import sys
def x(argument):
num = argument + .5
s = str(num())
point = s.find('.')
print s[:point]
if __name__ == "__main__":
x(int(round(float(sys.argv[1]))))
확정 코드 (신용에 간다 : NPE)
import sys
def x(argument):
print "Passed in value: " + str(argument)
num = argument + .5
print "Rounded whole number: " + str(int(num))
if __name__ == "__main__":
x(float(sys.argv[1]))
'x'가 함수가되기를 기대하십니까? –
아니요, 가능하다면 전달 된 가치에 대해 더 많은 것을 말할 필요가 있다고 생각하지 않습니다. – camihan
너는별로 의미가 없다. 'x (..)'가'__main__'에서 무엇을 할 것으로 기대합니까? –