for循環和字符串操作


一、for循環基本介紹

  相同點:理論上for循環能做的事,while循環都可以做

  不同點:for循環在循環取值(便利循環)比while循環更加簡潔。循環次數取決於in 后面包含的值的數量

  1.語法:  

for 變量名 in 可迭代對象:#可迭代對象可以是:列表、字典、字符串、元組、集合
    代碼1
    代碼2
    代碼3

  2.循環取值:

    列表:

for x in ['name', 'age', 'money']:  # 循環幾次根據可迭代對象中有幾個字
    print(x)
=========>
name
age
money

    字典:

dict ={'name' : 'ake', 'age':'18', 'money' :1232}
for x in dict:  # 字典中取得是key,需要注意的是value如何取出來的!
    print(x,dict[x])
===============>
name ake
age 18
money 1232

    字符串;

a ="my name is jake!"
for b in a :  #空格也會取到!!!
    print(b)
==============>
m
y

n
a
m
e

i
s

j
a
k
e

  3.for + range  # 控制循環的次數

    range 會自動生成一個列表,來表中的值的個數代表循環幾次(顧頭不顧尾)

name = 'JAKE'  #for + break / for + else 和while一樣 沒有區別
sercrt = 'asd'
for a in range (3):
    inp_name = input('請輸入你的賬號:')
    inp_password = input('請輸入你的密碼:')
    if inp_name == name and inp_password == sercrt:
        print('登入成功')
        while True:
            amd = input('請輸入你要進行的操作:')
            if amd == 'q':
                break
            else:
                print('命令{x}正在運行,'.format(x=amd))
        break
else:
    print('請重新登入')

  4. for + continue

for i in range(9):
    if i == 5:
        continue
    print(i)

  5.for 循環嵌套

    和while循環一樣使用。

    for循環嵌套時外層循環一次,內層需要循環一遍。

    退出循環只能使break.

      print補充:

print('name')
print('jake')
===========
# name
# jake

print('name\n')  # 換行符
print('jake')
===========
# name

# jake

print('name',end=' ')  # 取消換行符
print('jake')
============
# name jake

二、數據類型

    1.整形類型

      類型裝換

#整形
res = int('2175') print(res,type(res))

      進制轉換

#進制轉換
print(bin(13))# 10=====>2     bin()
print(oct(96))# 10=====>8     oct()
print(hex(32))# 10======>16     hex()
#反轉
print(int('0b1101',2)) #2====>10
print(int('0o140',8)) #8====>10
print(int('0x20',16)) #16====>10

    2.字符類型

      類型轉換:

        str可以把其他類型轉換成字符串

      內置方法:

      按索引正向取,反向取,中間取。(只能取不能改!)

a ="my name is jake!"
print(a[4])

      切片:根據索引,從大字符串中拷貝出來一個子字符串。

a ="my name is jake!"
b = a[3:7]
print(a)
print(b)
===========
my name is jake!
name

      步長:

a ="875245405465874"
b = a[0:15:2]  # 反向步長:b =a[15:0:-2]  全倒過來: b = a[::-1]
print(b)
=========
875245405465874
85445684

      移除左右兩邊的空白或者符號strip:

a ="    875245405hgjf4    "
b=a.strip()
print(b)

      切分split:把一個字符串按照某種分隔符進行切分,得到一個列表。#默認分隔符是空格

a ="87524;5405h,gjf4"
b=a.split(';')
print(b)
=========
['87524', '5405h,gjf4']

    需要掌握:

strip/lstrip/rstrip
a ="******875245405hgj*****" b=a.rstrip('*')/a.lstrip('*') # 去除右邊的"*"/去除左邊的"*"
print(b) ========= ******875245405hgj/875245405hgj*****
a ="SDJGAJjkjkjkj"
b=a.lower()  # 打印字符串所有字符都為小寫
b1=a.upper()  # 打印字符串所有字符都為大寫
print(b)
print(b1)
===========
sdjgajjkjkjkj
SDJGAJJKJKJKJ
a ="ABcSDJGAJjjkjkj009"
b=a.startswith('AB')  # 字符串開頭的字符為“AB”
b1=a.endswith('009')  # 字符串結尾的字符為“009”
print(b)
print(b1)
# ===========
#True
# True
a ="ABC:080:jjkjkj009"
b=a.split(':',1)
b1=a.rsplit(':',1)
print(b)
print(b1)
# ===========
# ['ABC', '080:jjkjkj009']
# ['ABC:080', 'jjkjkj009']
a ="ABC,080,jjkjkj009"
b="-".join(a)#使用某個符號把字符串內的拼接
print(b)

# ===========
# A-B-C-,-0-8-0-,-j-j-k-j-k-j-0-0-9
a ="name ash jajskc "
b=a.replace('name','NAME')  # 把name轉成大寫的NAME
print(b)

# ===========
# NAME ash jajskc 

          isdigit (判斷字符串是否為整形)

age = input('請輸入你的名字升高身高:').strip()
if age.isdigit():
    age = int(age)
    if age > 180 :
        print('你猜的太大了')
    elif age < 180:
        print('你猜的太小了')
    else:
        print('恭喜你,猜對了!')
else:
    print('必須輸入數字!')

 

           

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM