이 글에서는 Python의 조건문 학습 튜토리얼을 주로 소개하고 있지만, 조건문 부분의 사용 규칙은 3.x에서도 변경되지 않았습니다. 조건을 테스트하는 데 사용됩니다. 조건이 true이면 명령문 블록(if-block이라고 함)을 실행하고, 그렇지 않으면 다른 명령문 블록(else-block이라고 함)을 처리합니다. else 절은 선택 사항입니다.
if 문 사용:
#!/usr/bin/python # Filename: if.py number = 23 guess = int(raw_input('Enter an integer : ')) if guess == number: print 'Congratulations, you guessed it.' # New block starts here print "(but you do not win any prizes!)" # New block ends here elif guess < number: print 'No, it is a little higher than that' # Another block # You can do whatever you want in a block ... else: print 'No, it is a little lower than that' # you must have guess > number to reach here print 'Done' # This last statement is always executed, after the if statement is executed
출력:
$ python if.py Enter an integer : 50 No, it is a little lower than that Done $ python if.py Enter an integer : 22 No, it is a little higher than that Done $ python if.py Enter an integer : 23 Congratulations, you guessed it. (but you do not win any prizes!) Done
이 프로그램에서는 사용자로부터 추측한 숫자를 얻은 다음 이 숫자가 우리가 가지고 있는 숫자인지 확인합니다. 변수 번호를 원하는 정수(이 경우 23)로 설정합니다. 그런 다음 raw_input() 함수를 사용하여 사용자가 추측한 숫자를 가져옵니다. 함수는 단지 재사용되는 프로그램 세그먼트일 뿐입니다.
내장된 raw_input 함수에 문자열을 제공하여 화면에 인쇄된 후 사용자 입력을 기다립니다. 무언가를 입력하고 Enter 키를 누르면 함수가 입력값을 반환합니다. raw_input 함수의 경우 문자열입니다. 이 문자열을 int를 통해 정수로 변환하고 추측 변수에 저장합니다. 실제로 int는 클래스이지만 이에 대해 알아야 할 것은 문자열을 정수로 변환한다는 것입니다(문자열에 유효한 정수 리터럴이 포함되어 있다고 가정).
다음으로 사용자의 추측을 우리가 선택한 숫자와 비교합니다. 동일하면 성공 메시지를 인쇄합니다. 들여쓰기 수준을 사용하여 Python에 각 명령문이 속한 블록을 알려줍니다. 이것이 Python에서 들여쓰기가 중요한 이유입니다. "들여쓰기 수준당 하나의 탭" 규칙을 따르시기 바랍니다. 이것이 사실입니까?
if 문 끝에 콜론이 포함되어 있다는 점에 유의하세요. Python에게 문 블록이 뒤따른다는 것을 알립니다.
그런 다음 추측값이 우리 숫자보다 작은지 확인하고, 그렇다면 사용자에게 추측값이 조금 더 크다고 알려줍니다. 여기서 사용하는 것은 실제로 두 개의 관련 if else-if else 문을 하나의 if-elif-else 문으로 결합하는 elif 절입니다. 이는 프로그램을 더 단순하게 만들고 필요한 들여쓰기 양을 줄입니다.
elif 및 else 절 모두 논리 줄 끝에 콜론이 있어야 하며 그 뒤에 해당 문 블록(물론 올바른 들여쓰기 포함)이 와야 합니다.
if 블록 내에서 다른 if 문을 사용할 수도 있습니다. 이를 중첩된 if 문이라고 합니다.
elif 및 else 부분은 선택 사항이라는 점을 기억하세요. 가장 간단한 유효한 if 문 중 하나는 다음과 같습니다.
if True: print 'Yes, it is true'
Python이 완전한 if 문과 관련 elif 및 else 절을 실행한 후 if 문 블록의 다음 문으로 이동합니다. 이 예에서는 이 명령문 블록이 기본 블록입니다. 프로그램 실행은 메인 블록에서 시작되고 다음 명령문은 'Done' 명령문 인쇄입니다. 그 후, Python은 프로그램의 끝을 확인하고 단순히 실행을 종료합니다.
아주 간단한 프로그램이지만, 이 간단한 프로그램에서 주의하셔야 할 점을 많이 짚어봤습니다. 이 모든 것은 매우 간단합니다(특히 C/C++ 배경 지식을 가진 사람들에게는 간단합니다). 처음에는 주의를 끌지만 나중에는 익숙하고 "자연스럽다"고 느낄 것입니다.
다른 코드 예제를 살펴보겠습니다.
#! /usr/bin/env python #coding:utf-8 print "请输入任意一个整数数字:" number = int(raw_input()) #通过 raw_input()输入的数字是字符串 #用 int()将该字符串转化为整数 if number == 10: print "您输入的数字是:%d"%number print "You are SMART." elif number > 10: print "您输入的数字是:%d"%number print "This number is more than 10." elif number < 10: print "您输入的数字是:%d"%number print "This number is less than 10." else: print "Are you a human?"
특히 앞서 raw_input() 함수를 사용했다는 점을 상기시켜주세요. 문자 문자열 유형 데이터입니다.
위 프로그램은 조건에 따라 판단되며, 조건에 따라 다른 일이 진행됩니다. 기억해야 할 점은 숫자 == 10이라는 조건에서 읽기의 편의를 위해 숫자와 == 사이에 공백을 두는 것이 가장 좋다는 것입니다. 마찬가지로 그 뒤에도 공백이 있습니다. 10 여기서는 int 유형이고 number도 int 유형입니다.
이 프로그램을 확장자가 .py인 파일에 저장합니다. 예를 들어 num.py로 저장하고 이 파일이 저장된 디렉터리를 입력한 다음 실행합니다. Python num.py 를 통해 프로그램 실행 결과를 확인할 수 있습니다. 아래는 참고용으로 실행한 결과입니다.
$ Python num.py
请输入任意一个整数数字:코드 복사
코드는 다음과 같습니다.12
您输入的数字是:12 This number is more than 10.
$ Python num.py
请输入任意一个整数数字:
코드는 10
您输入的数字是:10 You are SMART.
$ Python num.py
请输入任意一个整数数字:코드를 복사하세요
코드는 다음과 같습니다.9
您输入的数字是:9 This number is less than 10.
눈치채셨는지 모르겠네요 위 코드의 시작 부분에 줄이 있다는 것입니다 :
#! /usr/bin/env python
이게 무슨 뜻인가요?
这句话以 # 开头,表示本来不在程序中运行。这句话的用途是告诉机器寻找到该设备上的 Python 解释器,操作系统使用它找到的解释器来运行文件中的程序代码。有的程序里写的是 /usr/bin Python,表示 Python 解释器在 /usr/bin 里面。但是,如果写成 /usr/bin/env,则表示要通过系统搜索路径寻找 Python 解释器。不同系统,可能解释器的位置不同,所以这种方式能够让代码更将拥有可移植性。对了,以上是对 Unix 系列操作系统而言。对与 windows 系统,这句话就当不存在。
在“条件”中,就是上节提到的各种条件运算表达式,如果是 True,就执行该条件下的语句。
三元操作符
三元操作,是条件语句中比较简练的一种赋值方式,它的模样是这样的:
>>> name = "qiwsir" if "laoqi" else "github" >>> name 'qiwsir' >>> name = 'qiwsir' if "" else "python" >>> name 'Python' >>> name = "qiwsir" if "github" else "" >>> name 'qiwsir'
总结一下:A = Y if X else Z
什么意思,结合前面的例子,可以看出:
如果 X 为真,那么就执行 A=Y
如果 X 为假,就执行 A=Z
如此例
>>> x = 2 >>> y = 8 >>> a = "python" if x>y else "qiwsir" >>> a 'qiwsir' >>> b = "python" if x<y else "qiwsir" >>> b 'python'
相关推荐:
위 내용은 Python의 조건부 판단문에 대한 기본 학습의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!