2017-01-14 1 views
2

저는 파이썬에서 완전한 초보자입니다. 저는 GCSE 컴퓨터 과학 교과 과정의 코드를 개선하려고합니다. 내가 지금까지 무엇을 내가 할 수 있기를 원하는 모든 제한이 여기에 7 에 입력 된 숫자의 수는 모두입니다 :입력 된 문자열의 길이를 파이썬으로 제한

print("Hello") 
time.sleep(0.5) 
print("What is your 7-digit product number?") 
while True: 
try: 
    productnumber= (str(int(input(" ")))) 
    break 
except ValueError: 
    print("Please only enter numbers") 
    time.sleep(1) 
    print() 
    print("What is your 7-digit number?") 

어떤 도움 감사합니다, 나는 중첩 루프하지만 난을 추가하는 시도 지금까지 언급 한 것처럼 내가하는 일로 지금까지 아무런 운이 없었습니다. 나는 복식 초보자입니다. 감사합니다.

+0

게시물을 수정하고 정확한/구체적인 오류를 추가하십시오. 이렇게하면 다른 사람들이보다 쉽게 ​​당신을 도울 수 있습니다. – xlm

+0

@xlm 이미 내 답변을 얻었지만, 분명히 의견을 보내 주시면 감사하겠습니다. – khushi

+0

if len (productnumber) <= 7'을 확인 하시겠습니까 ?? –

답변

2

while True:으로 시작하는 무한 루프 안에 아무 것도 없기 때문에 위의 코드는 들여 쓰기가 적절하지 않습니다. 나는 단지 try - except 블록이 거기에 있어야한다고 생각합니다. 항목을 7 자로 제한하기 위해 필요한 것은 if입니다. 다음을 고려하십시오.

while True: 
    try: 
    productnumber = str(int(input(" "))) 
    if len(productnumber) > 7: 
     print("You may only enter seven digits") 
    else: 
     break 
    except ValueError: 
    print("Please only enter numbers") 
    time.sleep(1) 
    print() 
    print("What is your 7-digit number?") 

len 함수는 문자열의 길이를 계산합니다.

변수 이름에 camelCase를 사용하는 것을 포함하여 코드를 개선하는 여러 가지 방법이 있습니다.

행복한 비단 배우기!

+0

귀하의 초고속 회신에 감사드립니다. 정말로 감사드립니다! 또한 조언을 주셔서 감사합니다, 나는 내 코드를 통합했고 완벽하게 작동했습니다! 정말 고마워, 너 절대적인 생명의 은인이야! – khushi

+0

[PEP-8] (https://www.python.org/dev/peps/pep-0008/#id45)을 읽으십시오. 'snake_case'는'camelCase'가 아니라 메소드와 변수 이름에 권장됩니다. 이것은 JavaScript가 아닙니다. – MattDMo

+0

@MattDMo 알겠습니다! 나에게 말해 주셔서 대단히 감사합니다! – khushi

관련 문제