python 學習2

思維導圖

這裏寫圖片描述
這裏寫圖片描述

python的循環結構

順序結構

分支結構

  • if:
if 表達式:
    語句
  • if…else…
if 表達式:
    語句
else:
    語句
  • if…elif…else…
if 表達式:
    語句
elif 表達式:
    語句
else:
     語句

注意:在python裏面不支持switch語句,如果想實現switch的效果,第一種方法就是使用if...elif...elif...else...;

python中實現三目運算符:

C: maxNum = a>b? a:b
Python: maxNum= a if a>b else b

循環結構

for, while, do…while…

for循環

  • range(m,n,x):從m起始到n-1結束(不包含n),x代表步長;
for item in range(m.n,x):
    循環的語句

for item in 可迭代的類型(eg:字符串.....):
    循環的語句
  • 兩個關鍵字:
    • break:跳出循環,不再執行循環;
    • continue:跳出本次循環,繼續執行下一個循環;

while循環

while

while 表達式(或者TrueFalse):
    循環的語句

while … else …..

while 表達式:
    循環語句



In [5]: while trycount<3:
   ...:     print "login"
   ...:     trycount+=1
   ...: else:    
   ...:     print "bigger than 3"
   ...:     

pass

只是佔一個語句的位置,並無任何操作;

程序 = 算法 + 數據結構

C:數組,結構體,………..
Python: str,list,tuple,set,dict……..

字符串

字符串的定義

  • ” “
  • ’ ‘
  • “”” “”“

轉義字符:\n \r \t \’ \”

字符串的特性

  • 索引:檢索引用,通過字符串的下標,拿出字符串的某個字符;(注意:下標從0開始)
    a[0] ## 拿出字符串第一個字符
    a[-1] ##拿出字符串最後一個字符

  • 拼接:+

"hello" + "world"
a[0]+a[1]
  • 切片:切出字符串指定的部分

a[m:n:x] #從m索引開始切,到n-1結束,間隔爲x

a[:n] #從開頭切到n-1

a[m:] #從m切到字符串結束

a[::] # 切出與a相同的字符串

a[::-1] # 倒序輸出字符串a

字符串的方法

字符串填充

//輸出字符串寬度爲width,S顯示在中間,其他部分由fillchar填充
- S.center(width[, fillchar]) -> string

//S顯示在left(左邊)
- S.ljust(width[, fillchar])

//S顯示在right(右邊)
- S.rjust(width[, fillchar])

刪除前後空格

//刪除S中首位指定的chars,沒有參數時,默認爲空格;
- S.strip([chars]) -> string

  • S.lstrip([chars])
  • S.rstrip([chars])

字符串變形計

//大小寫互換
- s.swapcase
- s.title
- s.upper
- s.lower
- s.format

字符串分割

s.split() //默認情況下以空格爲分隔符

字符串判定(是否小寫/大寫/數字…..)

  • str.isalnum() //判斷是否都是字母或數字
  • str.isalpha() //判斷是否都是字母
  • str.isdigit() //判斷是否都是數字
  • str.islower() //判斷是否都是小寫
  • str.isspace() //判斷是否都是英文空格
  • str.istitle() //判斷是不是都是標題(有大小寫)
  • str.isupper() //判斷是不是都爲大寫字母

字符串的查找

s.count
s.find
s.index
s.rindex
s.rfind

替換

s.replace()
str.join(seq)
- 以str作爲分隔符,將序列seq中的所有元素合併爲
一個新的字符串。

例1

句子反轉

#!/usr/bin/env python

inputstr=raw_input()
inputstr=inputstr.split(" ")
a=inputstr[::-1]
print " ".join(a)

運行結果:
這裏寫圖片描述

例2

處理字符串,最終分別打印數字,大寫字母和小寫字母;

#!/usr/bin/env python
#coding:utf-8

str = "helo12XyS6E12zF"
num=""
daxie=""
xiaoxie=""
for i in str:
    if i.isdigit():
        num=num+i
    elif i.isupper():
        daxie+=i
    elif i.islower():
        xiaoxie+=i
print "數字爲:", num
print "大寫字母爲:", daxie
print "小寫字母爲:", xiaoxie

運行結果:
這裏寫圖片描述

例3

用戶輸入一個數字,判斷是否爲質數

#!/usr/bin/env python
#coding:utf-8

from math import sqrt
def is_prime(n):
    if n == 1:
        return False
    for i in range(2, int(sqrt(n))+1):
        if n % i == 0:
            print '數字 {} 不是質數!'.format(n)
            return False
    print '數字 {} 是質數!'.format(n)
    return True
is_prime(input('輸入要查看的數:'))

程序運行結果:

這裏寫圖片描述

發佈了59 篇原創文章 · 獲贊 12 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章