>

사용자로부터 간단한 숫자와 문자열을 읽은 후 사용자에게 출력하는 프로그램을 작성했습니다.

수학 연산자를 인쇄하고 사용하려면 원하는 방식으로 인쇄하기 위해 데이터 유형을 여러 번 변환해야했습니다.

내 코드는 다음과 같습니다 :

print("What is your name?")
name = input()
print("What is your age?")
age = input()
print(type(age))
print("Check for type")
print("We will now add your " + age + " years to 50.")
age = int(age)
print(type(age))
print("Check for type")
finalAge = 50 + age
finalAge = str(finalAge)
age = str(age)
print("In 50 years " + name + " will be " + finalAge + " years old.")

출력 결과는 다음과 같습니다.

What is your name?
Gavin
What is your age?
23
<class 'str'>
Check for beginning
We will now add your 23 years to 50.
<class 'int'>
Check for end
In 50 years Gavin will be 73 years old.

결론은 프로그램이 끝나기 전에 여러 번 유형을 변환하지 않아도되는 더 좋은 방법을 찾고 있다는 것입니다. 어떤 제안에도 개방하십시오!


  • 답변 # 1

    int 를 추가 할 수 없습니다   str 에 가치   str 가 있지만 그와 같은 것  변수 유형이 다르기 때문에 value에는 숫자가 있지만 프로젝트를 쉽게하거나 같은 일에 더 적은 코드를 사용하는 함수를 만들 수 있습니다. 예를 들어 다음과 같은 것을 사용할 수 있습니다 .-

    def sum(a, b):
        return str(int(a)+int(b));
    
    

    이것은 두 개의숫자값의 합을 문자열로 반환하는 함수이며 원하는 방식으로 많은 사용자 정의 함수를 만들 수 있습니다.기능.

  • 답변 # 2

    재 할당을하지 않고 필요할 때만 전송하는 것이 좋습니다.

    print("What is your age?")
    age = input()
    print("We will now add your " + age + " years to 50.")
    finalAge = 50 + int(age)
    print("In 50 years " + name + " will be " + str(finalAge) + " years old.")
    
    
    또한, 데이터 유형에 맞는 데이터 유형을 지정하는 것이 좋습니다. 와이즈 비즈   age 에 가장 적합합니다 :

    int
    
    
    print("What is your age?") age = int(input()) print("We will now add your " + str(age) + " years to 50.") finalAge = 50 + age print("In 50 years " + name + " will be " + str(finalAge) + " years old.")

관련 자료

  • 이전 python - (x1, y1) 및 (x2, y2) 두 개의 numpy 배열을 비교하여 요소가 교차하는지 확인
  • 다음 javascript - 타임 스탬프를 지속적으로 비교