Python資料型別、運算子、流程語句(條件結構,迴圈結構)斐波那契數列、99乘法表(for,while)
阿新 • • 發佈:2018-11-16
一、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迴圈實現斐波那契數列
1,1,2,3,5,8...
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()