분기와 루프 파이썬 기초

A, 파이썬 분기 (조건) 문 2

그들이 조건부 할 수 있기 때문에 컴퓨터가 작업을 자동화 할 수 있었다.

사고 1 : 수요 기존 예를 들어, 사용자의 나이를 입력 나이에 따라 다른 콘텐츠를 인쇄 할 수 있습니다.

! [370AA951-25BC-4374-B07E-4D6BA76BC694] (/ 사용자 / zhangjiao / 도서관 / 용기 / com.tencent.qq / 데이터 / 라이브러리 / 응용 프로그램 지원 / QQ / 사용자 / 1838887021 / QQ / Temp.db / 370AA951-25BC -4374-B07E-4D6BA76BC694.png)

if 判断条件:
    执行语句...
else:
    执行语句...

(이하의) 문이 될 수있는 경우> (이상)의 조건 <== (같음)> = (이상인) <= (이하)을 분석하는 관계를 표현한다.

요구 사항 1 : 18 세 이상하는 경우, 인쇄에 달리 미성년자가되었다

age = 17
if age> 18:
    print("已成年")
else:
    print("未成年")

3 수요 : 나이 25에 동일 미만 18 이하, 인쇄 청소년, 18 이상 나이 큰 경우, 청소년을 인쇄, 25 이상은 또는, (40)와 동일하여 폐경을 인쇄, 40보다 큰를 인생의 전성기를 인쇄보다 작이다. . .

우리는 위의 판단과 유사한 다수의 필요, 우리는 해결하기 위해 다음과 같은 방법을 사용할 수 있습니다

if 条件判断1:
    语句1
elif 条件判断2:
    语句2
...
elif 条件判断n:
    语句n
else:
    语句

참고 : 여러 ELIF이있을 수있는 경우의 elif가 약자 다른 것입니다.

따라서, 위의 요구 사항에 따라, 우리의 코드를 작성할 수 있습니다

age = 34
if age <= 18:
    print("少年")
elif age <= 25:
    print("青年")
elif age <= 40:
    print("壮年")
else:
    print("更年期到啦")

문 판사는 사실에있는 경우, 판사에서 다운 기능을 가지고있는 경우, 심판의 실행 후 해당 문은, 다른 ELIF와 다른 사람을 무시했다.

판사 문장은 또한 나타내는 표현이 할 수있는 경우 :

if x:
   print("True")

한 x는, null 이외의리스트는,이 결정된다 아닌 값이 아닌 빈 문자열로는 true, 그렇지 않은 경우는 false

중첩 된 if 문

수요 : 이제 그는 10보다 짝수 큰 여부, 숫자를 입력

당신이 이러한 요구를 해결하려면, 우리는 첫 번째 숫자는 입력이 10보다 큰 경우, 먼저이 숫자가 짝수 여부 결정을 올의 두 번째 기준으로 판단 여부를 결정 여부를 결정하기 위해 두 문장이 필요할 수 있습니다.

다음과 같이 간단하게 다음 중첩 된 if 문에, 즉, if 문을 넣어, 효과는 다음과 같습니다

구문 :

경우 식 1 :

문 1

만약 표현이 :

문 2

num = 20
if num > 10:
    if num % 2 == 0:
        print(num)

참고 : 중첩 된 레이어는 가독성과 코드의 유지 보수성에서, 그러나 제한되지 않는다는 문법의 관점에서, 최고의 중첩 깊이 세를 넘지 않아야합니다.

마법 사용하는 경우 (작동 안 현미경)

분석 조건은 다른 result2 경우 결과 1

조건, 그렇지 않으면 출력 result2 출력 결과 1 다음에 해당하는 경우

>>> x = 10
>>> y = 20
>>> x if x > y else y
20

둘째, while 루프

고찰 : 1 + 2 + 3 + ... + 10의 값을 찾기.

문제에 대한 해결책 : 전에 배운 추가 사용

>>> num = 1 + 2 + ...+10
>>> print(num)

고려 2 : 원하는 값 + 2 + ... + 13 + 100

>>> num = 1 + 2 + 3 + ... + 100
>>> print(num)

이 방법은 시간의 계산 반복 계산 수천 컴퓨터를 허용하기 위해 매우 복잡, 우리는 루프가 필요합니다. 파이썬 특정 조건, 특정 프로그램 루프의 구현에 따라, 즉, 프로그램 루프 문을 실행하기위한 동일한 처리 작업은 형태 실질적 프로세스를 반복 할 때 :

while 判断条件:
    执行语句...

하나의 명령문 또는 문 블록 수있다 문을 실행 판정 조건은 0이 아닌 값을, 임의의 표현되거나, 판정 조건이 거짓 인 경우에 비어 (NULL)이 루프 양단에 해당.

! [CF7B3BB0-6FFC-4886-AE1D-55AEA44378EE] (/ 사용자 / zhangjiao / 도서관 / 용기 / com.tencent.qq / 데이터 / 라이브러리 / 응용 프로그램 지원 / QQ / 사용자 / 1838887021 / QQ / Temp.db / CF7B3BB0-6FFC -4886 - - AE1D 55AEA44378EE.png)

2. 해결 방법 2 : 우리는 위의 문제를 해결하기 위해주기 방법을 사용

sum = 0
num = 1
while num < 101:
    sum += num
    num += 1
print(sum)

이 루프 본체 블록 계속되면 그 결과는 그렇지 루프 밖으로 참일 때 상기주기에서, NUM <101 문을 판정한다.

죽음의 동안 자전거

기회의 무한 루프 : 표현은 항상 true 인 경우 무한 루프가있을 때

while 1:
    print("I am very good !")
다른 while 루프

파이썬 반면 ... 루프 조건에서 실행 또 다른 블록 거짓

count = 0
while count < 5:
    print("%d is less than 5"%count)
    count += 1
else:
    print("%d  is not less than 5"%count)
간단한 문장 세트 동안

하나 개의 문장에 while 루프, 당신은 문을 작성하고 수 있다면 같은 줄에있는 동안

구문 :

조건 일 때 : 문

while True: print("you are a good man")

셋째, 루프의 끝

사용 1.break 문

사이클에서는 초기 루프를 종료 break 문을 사용할 수 있습니다.

예를 들어 : 원래 순환은 1 100으로 번호를 인쇄하지만 숫자가 10보다 큰, 인쇄주기가 끝날 때 지금은 일찍 종료 할.

n = 1
while n <= 100:
    if n > 10:
    #当n = 11时,条件满足,执行break语句
        break
    print(n)
    n += 1
print("循环结束")
사용 2.continue 문

주기 동안, 당신은 문 건너 뜁니다에게 현재의주기, 직접 시작 다음 사이클을 계속할 수 있습니다.

n =  0
while n < 10:
    n += 1
    print(n)

10-1 위의 절차에 의해 인쇄 할 수 있습니다,하지만 우리는 인쇄 할 경우 홀수의 문주기를 계속 건너 뛸 수 있습니다 :

반사 세 : 1 100에서 홀수 인쇄하기

num = 1
while num <= 100:
    if num%2 == 0:
        continue
    print(n)
3. 패스 문장을 사용하여

패스 문은 프로그램 구조의 무결성을 유지하기 위해, 하늘의 문이다

아무것도하지 않고 통과, 일반적으로 자리 표시 자 문장으로 사용

if True:
    pass
else:
    print("hello")

넷째, for 루프

파이썬주기가 두가, 하나는 우리가 루프 동안, 다른 하나가 전에 얘기입니다 ... 루프, 요소리스트 나 튜플 또는 문자열의 반복 밖으로 하였다.

name = ['lili','Bob','Tracy']
for name in names:
    print(name)

차례로이 코드의 구현은, 이름의 모든 요소를 ​​출력

lili
Bob
Tracy

그래서에서 ... x의주기는, 변수 x의 각 요소를 가져 오는 들여 쓰기 블록 문을 실행하는 것입니다.

10 (1)의 정수를 계산하여 누적 합으로 가변으로 할 수있다 :

sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
    sum = sum + x
print(sum)

파이썬 범위 () 함수를 제공하기 위해 100 비트 어려운에서 100 합계 1을 계산하기 위해, 정수의 시퀀스를 생성 할 수 있고, 그 목록을 () 함수와 같은 범위로,리스트로 전환시킬 수있다 (5) 생성 된 시퀀스는 제로보다 5에서의 정수이다.

sum = 0
for x in range(100):
    sum += x
print(sum)

다른 문을 재활용

하면서 ... 다른 유사한, 다른 정상적인 실행 후 루프로 수행 될

for i in range(10):
    print(i)
else:
    print("********")
다양한 기능

범위 함수는 반복자 객체는 일반적으로 루프 (A)에 사용되는 생성

기능 구문 :

range([start,] stop[, step])

매개 변수 :

1.start:计数从start开始,默认从0开始,例如:range(5)等价于range(0, 5)
2.stop:计数到stop结束,但不包括stop。例如:range(05)的取值为[053.step:步长,默认为1,例如range(05) 等价于range(0, 5, 1)

이 기능은 반복자 객체를 반환, 당신이 반복 가능 객체에 정수의 목록을 얻을 수 있습니다

#使用list函数,可以从可迭代对象中获取整数列表
>>> list(range(5))
[0, 1, 2, 3, 4]

중첩 된 루프

중첩 루프에서 우리가 할 수있는 루프

요구 사항 : 인쇄 구구단

'''                          行    列
1x1=1                        1     1
1x2=2   2x2=4                2     2
1x3=3   2x3=6   3x3=9        3     3
...

总结:列数随着行数的变化而变化,列数的最大值和行数相等。
'''
i = 1
while i <= 9:
    j = 1
    while j <= i:
        sum = j*i
        print("%dx%d=%d"%(j,i,sum),end="    ")
        j += 1
    print("")
    i += 1
'''
打印结果:
1x1=1    
1x2=2    2x2=4    
1x3=3    2x3=6    3x3=9    
1x4=4    2x4=8    3x4=12    4x4=16    
1x5=5    2x5=10    3x5=15    4x5=20    5x5=25    
1x6=6    2x6=12    3x6=18    4x6=24    5x6=30    6x6=36    
1x7=7    2x7=14    3x7=21    4x7=28    5x7=35    6x7=42    7x7=49    
1x8=8    2x8=16    3x8=24    4x8=32    5x8=40    6x8=48    7x8=56    8x8=64    
1x9=9    2x9=18    3x9=27    4x9=36    5x9=45    6x9=54    7x9=63    8x9=72    9x9=81    
'''

확장 :

"("끝 = "") 기본 사용 인쇄 ( ")가 공백으로 변경 그래서 넣어 줄 바꿈을 당신이 인쇄에서 인쇄 ()는 최종 속성을 추가 할 필요가 변경해야하는 경우 자동으로 줄 바꿈, 줄 바꿈을 출력합니다"

다섯, 문자열 문자열

1. 문자열 무엇입니까

문자열은 작은 따옴표로, 또는 큰 따옴표로 텍스트는 문자열 몇 가지 임의의 문자로 구성

문자열을 작성합니다
str1 = "hello world"
str2 = 'you are good'
3. 문자열 작업
3.1 문자열 링크

3.1.1 사용 플러스 링크

#字符串的链接,通过“+”进行链接
s1 = 'welcome'
s2 = 'to guangzhou'
print(s1 + s2)

참고 : 문자열 + 번호, 이것은 서로 다른 유형을 추가하지 주어지고

3.1.2 ","[링크] 튜플 타입

s1 = 'hello'
s2 = 'world'
print(s1, s2)
#使用“,”链接的时候,在“,”的位置会产生一个空格

3.1.3 사용 %는 링크를 포맷

s1 = 'hello'
s2 = 'world'
print("%s %s"%(s1, s2))

3.1.4는 기능 링크를 조인을 사용

s1 = ['hello', 'world']
print("".join(s1))

참고 :. ""가입 () 내부 함수는 매개 변수를 전달해야합니다.

3.2 반복 출력 문자열
#重复输出字符串,通过乘法的方式实现
s3 = 'good'
print(s3 * 3)
3.3 문자열을 가져옵니다
#通过索引的方式实现
#索引:给一个字符串中的字符从0开始编号,也成为下标
#索引的取值范围:[0,str.length-1]
#访问方式: 变量名称[索引]
str3 = 'good'
print(str3[0])
#索引值还可以从-1开始,-1代表倒数第一个字符
print(str3[-1])
3.3 차단 문자열
# 通过下标截取字符串
str1 = "hello world"
print(str1[3:6])
#注意:截取字符串的范围是str[start : end] 它是一个前闭后开的区间[start,end)
#如果n的值超过了字符串的最大长度,则仍然截取原下标的长度

#从开头截取到指定索引之前[0,5)
print(str1[:5])

#从指定截取到结尾[4,str1.length)
print(str1[4:])

#注意在使用str[start : end]来截取字符串的时候,若start不写默认从第一个字符开始
#若end不写,则默认到最后一个字符结束
3.5 지정된 문자를 포함할지 여부를 결정
#判断字符串中是否包含某指定字符串
str4 = "you are a good boy"
print("good" in str4)
#若包含有则返回True否则为False
3.6 포맷 출력
#通过%来改变后面的字母或者是符号的含义,%被称为占位符
# %s:格式化字符串
# %d:格式化整数
# %f:格式化浮点数,可指定小数点后的精度
age = 18
name = "丽丽"
weight = 45.5
print("my name is %s , I am %d year old and my weight is %.2f kg"%(name, age, weight))
#注意:%.nf表示精确到小数点后n位,会四舍五入
문자열에 4 공통 기능
4.1 평가 (STR)

기능 : 유효하고 반환하는 식으로 문자열 STR은 결과를 평가합니다.

, 튜플, 딕셔너리, 세트 및 문자열 상호를 표시 할 수 있습니다

>>>num1 = eval('123')
>>>print(num1)
123

>>>num2 = eval("[1, 2, 3]")
>>>print(num2)
[1, 2, 3]

>>> num3 = eval("12-3")
>>> print(num3)
9
4.2 LEN (STR)

기능 : 현재 문자열의 길이 (문자 수)를 반환

>>> len("you are good")
12
4.3 str.lower ()

기능 : 반환 대문자 문자열은 문자열을 소문자

>>> str = "Hello World"
>>> print(str.lower())
hello world

참고 :이 방법은 원래의 문자를 변경하지 않습니다

4.4 str.upper ()

기능 : 대문자 문자열을 소문자로 된 문자열을 반환

>>> str = "Hello World"
>>> print(str.upper())
HELLO WORLD
4.5 str.swapcase ()

기능 : 반환 대문자의 문자열을 대문자 문자열로, 소문자를 소문자

>>> str = "Hello World"
>>> print(str.swapcase())
hELLO wORLD
4.6 str.capitalize ()

첫 글자로의 복귀, 다른 소문자 문자열을 대문자로

>>> str = "Hello World"
>>> print(str.capitalize())
Hello world
4.7 str.title ()

각 단어의 반환 문자열을 대문자로

>>> str = "Hello World"
>>> print(str.title())
Hello World
4.8 str.center (폭 [fillchar])

기능 : 문자열로 지정 중심의 폭이, FillChar 기본 공간을 작성하는 캐릭터 라인을 돌려줍니다

>>> str = "Hello World"
>>> print(str.center(50,"*"))
*******************Hello World********************
4.9 str.ljust (폭 [fillchar])

기능 : 반환 문자열이 지정 왼쪽 정렬, fillchar 채워진 문자의 폭입니다. 기본값은 공백으로 채워

>>> str = "Hello World"
>>> print(str.ljust(50,"*"))
Hello World***************************************
4.10 str.rjust (폭 [fillchar])

기능 : 문자열을 반환하도록 지정 오른쪽 정렬, FillChar 문자를 작성, 기본은 공백으로 패딩의 폭

>>> str = "Hello World"
>>> print(str.rjust(50,"*"))
***************************************Hello World
4.11 str.zfill (폭)

기능 : 앞에 0이, 폭, 원래 문자열 우측 정렬에 길이의 문자열을 반환

>>> str = "Hello World"
>>> print(str.zfill(50))
000000000000000000000000000000000000000Hello World
4.12 str.count (STR 【시작】 【최종】)

기능 : 문자열 STR의 수가 발생 반환, 당신은 범위를 지정할 수 있습니다 지정되지 않은 경우 경기는 대소 문자를 구분하면, 기본, 마무리로 시작합니다.

>>> str = "Hello World"
>>> print(str.count("hello", 0 , 10))
0
4.13 str.find (STR1 【시작】 【최종】)

기능 : 바로 str1이 문자열이 문자열에 포함되어 왼쪽 검출 범위가 지정 될 수 있으며, 기본값은 끝까지 시작합니다.

반환은, 인덱스가 시작된 것은 이번이 처음이다 경우 어떠한 문의에 -1

>>> str = "Hello World"
>>> str1 = "llo"
>>> print(str.find(str1, 0 , 10))
2
4.14 str.rfind (STR1 【시작】 【최종】)

기능 : 유사) (str.find,하지만 처음부터 권리를 찾기 위해

>>> str = "Hello World"
>>> str1 = "llo"
>>> print(str.rfind(str1, 0 , 10))
2
4.15 str.index (STR1 [시작 = 0], [END = 렌 (STR)])

기능 : 예외를보고 할 때 str1과가 존재하지 않는 경우와 마찬가지로, () 찾아 다른) (찾을 수

>>> str2 = "Hello World"
>>> str1 = "hello"
>>> print(str2.index(str1, 0 , 10))
ValueError: substring not found
4.16 str.lstrip ()

기능 : 문자열이 지정된 절단 문자열을 왼쪽, 기본 삭제 공백 ( '\ 연구', '\ n'을 포함하여 '\ t', '')

>>> str = '**** you are very good'
>>> print(str.lstrip())
>>> print(str.lstrip())
**** you are very good
>>> print(str.lstrip("*"))
 you are very good
4.17 str.rstrip ()

기능 :립니다 문자열 지정된 문자열의 오른쪽 기본 삭제 공백 ( '\ n'을 포함하여 '\ 연구', '\ t', '')

>>> str = '**** you are good****'
>>> print(str.rstrip())
**** you are good****
>>> print(str.rstrip("*"))
**** you are good
4.18 str.strip ()

기능 : 지정된 문자열의 잘린 문자열이 왼쪽과 오른쪽 ( '\ 연구', '\ t', '', '\ n'을 포함) 기본 삭제 공백

>>> str1 = "      hello world     "
>>> str1.strip()
'hello world'
4.18 사항 String.split (STR = "", NUM = string.count (STR))

기능 : 분리 문자 STR 슬라이스 문자열 지정된 값 NUM 않는 경우, NUM 만 분리 문자열

STR - 분리 (\ N-), 탭 (\ t) 줄 바꿈 공백을 포함한 모든 널 (null) 문자의 기본 등을들 수있다. NUM - 분할 수

>>> str1 = "hello you are good"
>>> str1.split()
['hello', 'you', 'are', 'good']
>>> str1.split(" ",2)
['hello', 'you', 'are good ']
게시 31 개 원래 기사 · 원 찬양 4 · 조회수 3522

추천

출처blog.csdn.net/qq_29074261/article/details/80016657