1. 程式人生 > >Python資料型別、運算子、流程語句(條件結構,迴圈結構)斐波那契數列、99乘法表(for,while)

Python資料型別、運算子、流程語句(條件結構,迴圈結構)斐波那契數列、99乘法表(for,while)

一、Python變數型別

型別

數值型、字串、元組、列表、字典等
例:c/c++、java是強型別的程式語言,一個變數在使用前確定型別,在程式期間,變數的型別是不能改變的;
指令碼語言:shell、python、perl、javaScript弱型別;

Python支援三種不同的數字型別

#有符號整數
int
#浮點實數值
float
#例 
#16進位制---0X 0x
#8進位制---0o  0O
#2進位制---0b  0B
#二進位制:bin() 八進位制:oct() 十六進位制:hex()
#複數
complex
#注意:複數由一對有序組成,
#通過 x + yj 來表示實浮點數,
#其中 x 和 y 是實數並且 j 是虛數單位。

在Python3所有整數表示為長整型。因此,沒有單獨為long的整數型別。

#例
c1=bin(8)
print(c1)#0b1000
c2=oct(8)
print(c2)#0o10
c3=hex(8)
print(c3)#0x10

字串

#字串變數
s="abc"
s='abc'

將多個變數分配給不同的變數

x,y=6,8
print(x,y)

二、python支援運算

2.1算術運算子

#冪運算
x=8**3#8*8*8
#y得到float型別有小數點值
y=7/3

#取整相除
y2=7//3  #y2返回2

2.2 比較(關係)運算子

x=8==8
print(x)#True
y=False
print(y)

2.3 賦值運算子

x=3
x+=5
print(x)
#//= 地板除
x//=3
print(x)
y=5.2789
y=y//2.954#返回1.0
print(y)

2.4 邏輯運算子

#and  or   not
#input函式得到使用者輸入資料
year=int(input("請輸入年份"))
#通過int()函式將引數轉換成整數
print(int(3.14))
if(year%400==0 or (year%4==0 and year%100!=0)):
    print("是一個閏年..."
)
#例如:
    #if條件表示式或數值
    if(not 0):
        print("abc")
    print("over")   

2.5位運算子

# >  &  | ^ !  ~  <<  >>

2.6 運算子成員

in ,not in
某元素是否在序列中,其中字串就是序列

 #例
 s="掌聲"
    y="聲"
    #s是字串,in表示判斷y是否在s中存在
    c=y in s
    print(c)#True

2.7 標識運算子

is如果操作符兩側是相同的物件,計算結果為true,否則結果為 false
is not 如果操作符兩側的變數是相同的物件,計算結果為false,否則 true

三、python流程控制結構

3.1 python 條件結構

#語法:
  if():
#    多條語句體
#注意:
#if結構的語句體可以多條,使用統一位置縮排控制語句體;
#例:
     if(條件):
        語句體....
  if()...else
#  語法:
  if():
     多條語句體
  else:
     多條語句體
  if():...elif():...else:
  語法:
  if():
     多條語句體
  elif():
     多條語句體
  elif():
     多條語句體
  else:
     多條語句體

3.2迴圈

3.2.1 while迴圈

 i=0#A迴圈變數的初始化
        while(i<5):#B迴圈條件
            print(i)
            i+=1#C迴圈體內改變迴圈變數值

3.2.2 break,continue while…else

 # else表示當while條件不成立,執行else部分
 #例:
  i=1   
        while(i<4):
            print(i)
            i+=1
            if(i==3):break
        else:
            print("迴圈結束...")
            print("ok")

        print("over...")
        結果:
        1
        2
        over...

3.2.3 for..in迴圈

for 迭代變數 in 集合:
    語句
    ...
[else:
    語句
    ...]
#注意:
   #和for迴圈配合使用range函式
    range(stop) 
    range(start, stop[, step])
for i in range(10,100,20):
            print(i)
#練習 for..in迴圈實現斐波那契數列 
        112358...
        one=1
        two=2
        for month in range(3,14):
            three=one+two
            print(three)
            #數值輾轉
            one=two
            two=three
#函式
    def fn(n):
        if(n<=1):
            return n;
        else:
            return (f(n-1)+f(n-2))
    for i in range(20):
        print(f(i))
#例:
 i=1
        while(i<11):
            i = i + 1
            if(i%2!=0):
                continue
            print(i)
#例:九九乘法表
    i=1
    while(i<10):
        j=9
        while(j>=1):
            #輸出格式
            s="%d*%d=%d"%(i,j,i*j)
            print(s,sep="\t",end="\t")
            j-=1
        print()
        i=i+1
# for 迴圈
for i in range(1,10):
    for j in range(1,i+1):
        s="%d*%d=%2d"%(i,j,i*j)
        print(s,sep="\t",end="\t")
    print()