2018-12-28

"""
1.獲取字符
字符串[下標]

字符串[開始下標:結束下標:步長]
字符串[開始下標:結束下標]
字符串[::步長]

字符串[::-1] -> 讓字符串倒序

2.相關運算
+, * >,<, >=, <=, ==, !=
in / not in
len()

3.格式字符串
帶有占位符的字符串 % (值列表)

%s
%d
%.Nf
%c

4.相關方法
"""

"""
python中的分之結構只有if語句,沒有switch

1.什么時候需要使用if
如果做某件事情(執(zhí)行某段代碼)需要滿足某個條件才行,就考慮使用if

2.怎么使用if
格式1: if結構
a.語法1:
if 條件語句:
代碼段1

其他語句

b.說明:
if - 關鍵字, 是如果的意思
條件語句 - 任意一個有結果的語句,最好結果是布爾,如果不是布爾值,在判斷的時候會轉換成布爾
: - 固定寫法, 在python中,只要有冒號,冒號后面的第一行必須有縮進。
冒號縮進組合形成代碼段,相當于其他語言中的大括號
代碼段1 - 和if保持一個縮進的語句。也可以是一行語句,也可以是多行語句。

c.執(zhí)行過程: 先判斷條件語句的結果是否為True,如果為True就執(zhí)行代碼段1,然后再執(zhí)行后邊的其他語句;
如果為False,就不執(zhí)行代碼段1,直接執(zhí)行if外邊的其他語句

"""

age = 26
print('你可以東莞玩兒!')
if age >= 18:
    print('你可以東莞玩兒!')
    print('可以進網吧')       # 和if保持一個縮進的代碼,都是滿足if后邊的條件才會執(zhí)行的代碼

print('======')     # 沒有和if保持一個縮進的代碼,不管條件是否滿足都會執(zhí)行

總結:需要滿足某個條件才執(zhí)行的語句就寫在if里面, 不管條件十分滿足都要執(zhí)行的語句,寫在if的外面

練習: 輸入一個數(shù),如果這個數(shù)能夠被3整除,就打?。?xxx是3的倍數(shù)'

num = int(input('請輸入一個數(shù)字:'))
if num % 3 == 0:
    print('%d是3的倍數(shù)' % num)

"""
結構二: if-else結構
a.語法:
if 條件語句:
代碼段1
else:
代碼段2

其他語句

b.說明
else - 關鍵字,固定寫法; 相當于否則,不滿足if條件的其他情況

c.執(zhí)行過程: 先判斷條件語句是否為True, 如果為True就執(zhí)行代碼段1,否則執(zhí)行代碼段2
"""
練習: 輸入一個整數(shù),如果這個數(shù)是偶數(shù)就打印'xx是偶數(shù)', 不是偶數(shù)就打印'xx是奇數(shù)'

if num % 2 == 0:
    print('%d是偶數(shù)' % num)    # 滿足條件才執(zhí)行
else:
    print('%d是奇數(shù)' % num)    # 不滿足條件才執(zhí)行

print('==========')           # 不管滿不滿足條件都執(zhí)行

練習: 輸入一個字符串,判斷字符串的開頭是否是小寫字母,如果是,將字符串第一個字符轉換成大寫字母并打印。否則直接打印
例如:輸入'aBc=123' -> 'ABc=123' 輸入'1abc' -> '1abc' 輸入'胡sh823' -> '胡sh823'

str1 = input('請輸入一個字符串:')
first_char = str1[0]     # 獲取第一個字符
if 'a' <= first_char <= 'z':
    print('第一個字符是小寫字母')
    print(first_char.upper()+str1[1:])
else:
    print('第一個字符不是小寫字母')
    print(str1)

"""
結構三: if-elif-else結構
a.語法:
if 條件語句1:
代碼段1
elif 條件語句2:
代碼段2
elif 條件語句3:
代碼段3
...
else:
代碼段n

其他語句

b.說明
elif - 關鍵字; 在前面的條件不滿足的前提下,判斷其他條件是否滿足

c.執(zhí)行過程:先判斷條件語句1是否成立,如果成立直接執(zhí)行代碼段1,然后整個if結構結束,接著執(zhí)行其他語句;
如果條件語句1不成立,再判斷條件語句2是否成立。如果成立直接執(zhí)行代碼段2,然后整個if結構結束,接著執(zhí)行其他語句;
以此類推, 如果條件語句都不成立,就執(zhí)行else后面的代碼段n

注意:a.后邊的條件語句的判斷都是在前面的條件不成立的前提下執(zhí)行的
b.else不是一定要寫,根據情況后面的else結構可以沒有!
"""

salary = 2000
if salary <= 5000:
    print('家中游!')
elif salary <= 10000:
    print('同城游!')
elif salary <= 15000:
    print('國內游!')
else:
    print('國外游!')

練習:
先打印:

請選擇: 1 -> 提示輸入姓名、電話、年齡
2 -> 提示輸入要查看學生的名字
3 -> 打印目前正在修改學生信息
4 -> 打印目前正在刪除學生信息
5 -> 打印退出

補充:python中可以使用三個雙引號或者是哪個單引號括起來,來表示一個字符串;這種字符串中可以直接輸入回車換行
str1 = '''
====================================
????歡迎XXX:

? 1.  添加學生
? 2.  查看學生
? 3.  修改學生信息
? 4.  刪除學生
? 5.  返回

======================================'''


input_str = input('請選擇(1-5):')
if input_str == '1':
    name = input('姓名:')
    age = input('年齡:')
    tel = input('電話:')
elif input_str == '2':
    find_name = input('請輸入要查看的學生的姓名:')

elif input_str == '3':
    print('目前正在修改學生信息')

elif input_str == '4':
    print('目前正在刪除學生信息')
else:
    print('退出!')

練習:輸入一個年份,獲取指定的年份是否是潤年。是,拿到結果'閏年',否則拿到結果'不是閏年'
閏年的條件: 年份是否能被4,不能被100整除; 或者能被400整除

year = int(input('年份:'))
result = '閏年' if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0) else '不是閏年'
print(result)


1.if的嵌套
在if結果中還可以再寫if結構

輸入一個數(shù),如果這個數(shù)是偶數(shù),打印'xx是偶數(shù)', 同時判斷它是否能被4整除,如果可以再打印'xx還是4的倍數(shù)';
如果不是偶數(shù)只打印'xx是奇數(shù)'

num = int(input('請輸入一個整數(shù):'))
if num % 2 == 0:
    print('%d是偶數(shù)' % num)

    # if中嵌套的if
    if num % 4 == 0:
        print('%d還是4的倍數(shù)' % num)
    else:
        print('是偶數(shù)但是不是4的倍數(shù)!')

    print('===')
else:
    print('%d是奇數(shù)' % num)

    # else中也可以嵌套if
    if num % 10 == 5:
        print('這個奇數(shù)是5的倍數(shù)')

2. python中的三目運算符

"""
C/java/JS語言中有一個三目運算符: 表達式?值1:值2 -> 判斷表達式的值是否為True,為True整個表達式的結果是值1,否則是值2
python中的三目運算符: 值1 if 表達式 else 值2 -> 判斷表達式的值是否為True,為True整個表達式的結果是值1,否則是值2

當我們要根據某個條件是否成立,獲取不同的值的時候才使用三目運算
"""

num1, num2 = 110, 100

max = num1 if num1 > num2 else num2
print(max)

練習:輸入一個年份,獲取指定的年份是否是潤年。是,拿到結果'閏年',否則拿到結果'不是閏年'
閏年的條件: 年份是否能被4,不能被100整除; 或者能被400整除
"""
1.為什么要使用循環(huán)
python中的循環(huán)結構有兩種: for循環(huán)和while循環(huán);
當實現(xiàn)某個功能的時候發(fā)現(xiàn)某個操作需要重復執(zhí)行,這個時候就考慮使用循環(huán)
"""
1+2+3+...+100
print(1+2+3+4+5+6+7+...+100)
統(tǒng)計1~10000能夠被13整除的數(shù)的個數(shù)

"""
2.for循環(huán)
a.語法
for 變量 in 序列:
循環(huán)體

b.說明
for - 關鍵字
變量 - 一個變量名,可以是已經賦值過的變量也可以是新的變量(一般是新的變量)
in - 固定寫法
序列 - 屬于序列的數(shù)據; python中的序列有:字符串、列表、字典、集合、元祖、range、迭代器、生成器
: - 固定寫法
循環(huán)體 - 需要重復執(zhí)行的代碼就放在循環(huán)體中;循環(huán)體需要和for保持一個縮進

c.執(zhí)行過程(重要!)
讓變量去序列中取值,一個一個的取,取完為止。每取一個值,執(zhí)行一次一次循環(huán)體。
(序列中元素的個數(shù)決定了循環(huán)體執(zhí)行的次數(shù))
"""

"""
第一次循環(huán): char = 'a' print('===') print(char)
第二次循環(huán): char = 'b' print('===') print(char)
第三次循環(huán): char = 'c' print('===') print(char)
"""

for char in 'abc':
    print('===')
  

練習:給一個字符串'hosee 23jh!hs89_=sssAsK', 統(tǒng)計這個字符串中數(shù)字字符的個數(shù)

str1 = 'hosee 23jh!hs89_=sssAsK'
count = 0    # 用來保存數(shù)字字符的個數(shù),默認是0個

for char in str1:
    if '0' <= char <= '9':
        count += 1

print('%s中有%d個數(shù)字字符' % (str1, count))

"""
3.range函數(shù)
range(N) -> 產生數(shù)字序列 0 ~ N-1 (N必須是整數(shù), N大于0)
range(M, N) -> 產生數(shù)字序列 M ~ N-1 (M,N必須是整數(shù), N > M)
range(M, N, step) -> 從M開始,每次值加step產生下一個數(shù)字,直到N前一個為止。 (M,N必須是整數(shù), step>0,N>M;step<0,N<M)
"""

 for num in range(1, 100, 2):
     print('num:', num)

練習:計算1+2+3...+100
"""

sum1 = 0
num = 1 sum1 += num, sum1 = sum1+num = 0+1
num = 2 sum1 += num, sum1 = sum1+num = 1+2
num = 3 sum1 += num, sum1 = sum1+num = 1+2+3
...
num = 100 sum1 += num, sum1 = sum1+num = 1+2+3+4+..+100


sum1 = 0
for num in range(1, 101):
    sum1 += num
print(sum1)

練習: 求100以內所有能被13或者7整除的數(shù)的和

sum1 = 0
for num in range(100):
    if num % 13 == 0 or num % 7 == 0:
        sum1 += num
print(sum1)

"""
4.通過遍歷字符串字符下標遍歷字符串
"""

str1 = 'hello word!'
 index是字符對應的下標, 從前往后取
for index in range(len(str1)):
    print(str1[index], end='')

print('===========')
index是字符對應的下標, 從后往前取
for index in range(-1, -len(str1)-1, -1):
    print(str1[index], end='')


"""
1.為什么要使用循環(huán)
python中的循環(huán)結構有兩種: for循環(huán)和while循環(huán);
當實現(xiàn)某個功能的時候發(fā)現(xiàn)某個操作需要重復執(zhí)行,這個時候就考慮使用循環(huán)
"""
1+2+3+...+100
print(1+2+3+4+5+6+7+...+100)
統(tǒng)計1~10000能夠被13整除的數(shù)的個數(shù)

"""
2.for循環(huán)
a.語法
for 變量 in 序列:
循環(huán)體

b.說明
for - 關鍵字
變量 - 一個變量名,可以是已經賦值過的變量也可以是新的變量(一般是新的變量)
in - 固定寫法
序列 - 屬于序列的數(shù)據; python中的序列有:字符串、列表、字典、集合、元祖、range、迭代器、生成器
: - 固定寫法
循環(huán)體 - 需要重復執(zhí)行的代碼就放在循環(huán)體中;循環(huán)體需要和for保持一個縮進

c.執(zhí)行過程(重要!)
讓變量去序列中取值,一個一個的取,取完為止。每取一個值,執(zhí)行一次一次循環(huán)體。
(序列中元素的個數(shù)決定了循環(huán)體執(zhí)行的次數(shù))
"""

"""
第一次循環(huán): char = 'a' print('===') print(char)
第二次循環(huán): char = 'b' print('===') print(char)
第三次循環(huán): char = 'c' print('===') print(char)
"""

for char in 'abc':
    print('===')
    print(char)

練習:給一個字符串'hosee 23jh!hs89_=sssAsK', 統(tǒng)計這個字符串中數(shù)字字符的個數(shù)

str1 = 'hosee 23jh!hs89_=sssAsK'
count = 0    # 用來保存數(shù)字字符的個數(shù),默認是0個

for char in str1:
    if '0' <= char <= '9':
        count += 1

print('%s中有%d個數(shù)字字符' % (str1, count))

"""
3.range函數(shù)
range(N) -> 產生數(shù)字序列 0 ~ N-1 (N必須是整數(shù), N大于0)
range(M, N) -> 產生數(shù)字序列 M ~ N-1 (M,N必須是整數(shù), N > M)
range(M, N, step) -> 從M開始,每次值加step產生下一個數(shù)字,直到N前一個為止。 (M,N必須是整數(shù), step>0,N>M;step<0,N<M)
"""
for num in range(1, 100, 2):
print('num:', num)

練習:計算1+2+3...+100
"""
sum1 = 0
num = 1 sum1 += num, sum1 = sum1+num = 0+1
num = 2 sum1 += num, sum1 = sum1+num = 1+2
num = 3 sum1 += num, sum1 = sum1+num = 1+2+3
...
num = 100 sum1 += num, sum1 = sum1+num = 1+2+3+4+..+100
"""

sum1 = 0
for num in range(1, 101):
    sum1 += num
print(sum1)

練習: 求100以內所有能被13或者7整除的數(shù)的和

sum1 = 0
for num in range(100):
    if num % 13 == 0 or num % 7 == 0:
        sum1 += num
print(sum1)

"""
4.通過遍歷字符串字符下標遍歷字符串
"""
str1 = 'hello word!'

index是字符對應的下標, 從前往后取

for index in range(len(str1)):
print(str1[index], end='')

print('===========')

index是字符對應的下標, 從后往前取

for index in range(-1, -len(str1)-1, -1):
print(str1[index], end='')

"""
1.continue
continue是python關鍵字,只能用在循環(huán)體中!

功能:執(zhí)行循環(huán)體執(zhí)行到continue的時候,結束當次循環(huán),直接進入下次循環(huán)的判斷。
(for循環(huán)就是讓變量去取下一個值; while循環(huán)就是直接去判斷while后邊的條件是否為True)
"""

for x in range(3):
    print('===')
    print('***')
    if x == 2:
        continue
    print('123')
x = 0
while x < 100:
    x += 1
    if x % 3 == 0:
        continue
    print(x)

"""
2.break
break是python關鍵字,只能用在循環(huán)體中!

功能: 執(zhí)行循環(huán)體的時候,遇到break循環(huán)直接結束.直接執(zhí)行循環(huán)后面的其他語句
"""
找到大于111的數(shù)字當中第一個能夠能夠被17整除的數(shù)

print('===============')
num = 111
while True:
    if num % 17 == 0:
        print(num)
        break
    num += 1


for x in 'abc':
    print(x)
    break
print(x)

"""
3.else
for 變量 in 序列:
循環(huán)體
else:
代碼段

while 條件語句:
循環(huán)體
else:
代碼段

執(zhí)行過程: 循環(huán)執(zhí)行過程不變, else后邊代碼段,如果循環(huán)是自然死亡就會執(zhí)行;如果是因為遇到break而結束的,就不會執(zhí)行
"""

for x in range(5):
    print(x)
    if x == 3:
        break

else:
print('for循環(huán)自然死亡') # 循環(huán)遇到break不會執(zhí)行

print('===========') # 不管循環(huán)怎么結束都會執(zhí)行

index = 0
while index < 5:
    if index == 3:
        break
    index += 1
else:
    print('while自然死亡')


?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 一、快捷鍵 ctr+b 執(zhí)行ctr+/ 單行注釋ctr+c ...
    o_8319閱讀 6,032評論 2 16
  • 在C語言中,五種基本數(shù)據類型存儲空間長度的排列順序是: A)char B)char=int<=float C)ch...
    夏天再來閱讀 4,040評論 0 2
  • 圖片發(fā)自簡書 一 分支結構 python中的分之結構只有if語句,沒有switch num = 11print('...
    Fly_withbird閱讀 392評論 0 0
  • 一 分之結構(if) """python中的分之結構只有if語句,沒有switch 1.什么時候需要使用if如果做...
    遙遠的她197閱讀 234評論 0 0
  • 偶爾會被一句話深深觸動,內心久久不能平復。是書上的某句金句,猛然間解了深藏在心的疑惑。是電影里某句臺詞,打開淚水的...
    晨希yang閱讀 303評論 0 1

友情鏈接更多精彩內容