inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[신규 개정판] 코딩 입문자를 위한 파이썬 완벽가이드

제어문 - 03.반복문(2)

실습문제 9 쿼리

170

dmsal0544

작성한 질문수 4

0

문제에 풀어주신 쿼리랑 이 쿼리랑 비교했을 때

많이 비효율적인가요?

 

# 9
while True :
    password = int(input('비밀번호를 입력하세요.'))
    if password == 1234 :
        print('로그인 성공!')
        break
    else :
        print('로그인 실패!')

 

python

답변 2

0

스타트코딩

AI 인턴이 말한
에러 처리: 사용자가 비밀번호 입력 시 정수가 아닌 값을 입력하면 int(input()) 부분에서 ValueError가 발생할 수 있습니다. 실제 애플리케이션에서는 사용자의 잘못된 입력을 처리할 수 있는 예외 처리 로직이 필요합니다.

이부분을 제외하고는 딱히 비효율적이지 않습니다 :)

잘해주셨어요!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

dmsal0544님의 질문에 답변드립니다.

주어진 코드는 사용자로부터 비밀번호를 입력받아 그것이 정해진 값(1234)과 일치할 때까지 반복하여 검사하는 로직입니다. 이는 기본적인 비밀번호 확인 로직으로 필요한 기능을 수행합니다. 그러나 실제 환경에서는 몇 가지 비효율적인 측면이 있을 수 있습니다.

  1. 보안 측면: 하드코딩된 비밀번호 값(1234)은 보안에 취약합니다. 실제 환경에서는 비밀번호를 코드에 직접 작성하는 것이 아니라, 암호화된 형태로 데이터베이스에 저장하고 사용자가 입력한 비밀번호도 암호화하여 대조하는 방법을 사용합니다.

  2. 에러 처리: 사용자가 비밀번호 입력 시 정수가 아닌 값을 입력하면 int(input()) 부분에서 ValueError가 발생할 수 있습니다. 실제 애플리케이션에서는 사용자의 잘못된 입력을 처리할 수 있는 예외 처리 로직이 필요합니다.

  3. 사용자 경험: 사용자가 잘못된 비밀번호를 입력했을 때, 단순히 ‘로그인 실패!‘라고 출력하는 것보다 정확한 에러 메시지를 제공하거나 일정 횟수 이상 틀렸을 경우 추가적인 조치를 취하는 등의 처리가 필요할 수 있습니다.

이러한 점들을 고려하여 실제 환경에서 사용할 때는 추가적인 로직이 필요합니다. 그러나 기본적인 비밀번호 입력 및 검증에 대한 로직을 이해하는 데는 적합한 예시 코드입니다.

학습 목적으로는 적절하지만, 보안과 사용자 경험을 고려하여 실제 서비스에 적용할 때는 위에서 언급한 점들을 염두에 두고 개선할 필요가 있습니다.

5번 강의 실습문제에서 질문있습니다.

0

65

1

type 오류

0

100

2

엑셀 자동화 에러

0

175

2

Visual Studio Code 통합?

0

124

1

새로운 엑셀 시트 왜 안열릴까요?

0

221

2

sum함수 관련 질문

0

148

1

xlwings 모듈 설치시 에러

0

285

2

엑셀자동화

0

100

1

마우스 자동화 라이브러리 설치 오류

0

164

2

나머지 문법

0

159

2

실습문제 14 관련 문의

0

140

2

라이브러리 관련

0

152

2

궁금한게 있습니다.

0

304

1

Syntax Error

0

825

2

'와"의 차이

0

311

1

9강 반복문 관련하여, name에 if함수 결합시 아래 에러 문구가 계속 뜨는데 에러 수정이 안되는데 방법이 있을까요?

0

370

2

수업 자료

0

279

2

로또 예상번호 만들기 질문

0

269

1

Break 에러

0

272

1

While문 True의미

0

259

1

로또 번호 만들기 질문입니다!

1

243

1

input과 결합한 반복문 질문

1

195

1

조건문예제 2번 문제 터미널 값이 안나옵니다.

1

210

1

4강 연산과 연산자 질문입니다!

0

211

1