python第一天
一、Python數據類型
字符串、數字、元組(tup)、list(列表)、dict(字典)
1.數字操作:
1.1四則運算:+ - * / %(求余)
print 2+2 4 print 1+2*4 9 print 1.0/2.0 0.5 print 2%4 2
2.字符串操作:
2.1.字符串:用單引號或者雙引號引起來
print ‘hello‘ hello
2.2.字符串拼接:用+號將多個字符串拼接起來
print ‘hello ‘+‘world‘ hello world
2.3.字符串轉義:在Python中字符串使用單引號或雙引號括起來,如果字符串內部出現了需要轉義的字符(例如:"和‘本身),只需要在字符前添加轉義字符:\即可
常用轉義字符:
>>> print ‘My name\‘s lilei‘ My name‘s lilei
4.變量:變量值可以是字符串、數字、list、dict、tup
x = ‘hello world‘ print x hello world age = 20 print age 20
5.獲取用戶輸入:raw_input()#python內置函數
#代碼 x = raw_input(‘please input a string: ‘) print ‘hello ‘+x #輸入 world 輸出 hello world
6.字符串格式化:
常用類型:
%s:字符串
%d:整型
%f:浮點型
%x:十六進制
%%:表示%本身
name = ‘liuyang‘ age = 26 #數字和字符串不能直接相加 #26為數字,不能與字符串相連,所以我們要將類型轉換成字符串 print ‘hello ‘+name+‘,and i am ‘+str(age)+‘ years old‘ hello liuyang,and i am 26 years old #字符串格式化%s 引入變量 後邊%結尾意思是左邊字符串結束了現在要代入變量) print ‘hello %s,and i am %s years old‘ %(name,age) hello liuyang,and i am 26 years old #用%s換成%d占位符,代表一個數字 >>>print ‘hello %s,and i am %d years old‘ % (name,age) hello liuyang,and i am 26 years old
7.數據類型
int:整型
str:字符串
float:浮點型
bool:布爾型
x = raw_input(‘print input a number: ‘) y = raw_input(‘print input a number2: ‘) print int(x)+int(y) #輸入x 3 輸入y 4 #輸出 7
8.Python內置函數strip():
.strip()#消除字符串兩邊空格
#默認是空格,可以是別的字符
.strip(‘\n‘)
#消除換行符
.rstrip()#消除字符串右邊空格
.lstrip()#消除字符串左邊空格
.upper()大寫轉小寫
.upper().lower() 小寫轉大寫
name = ‘ liuyang ‘ print name.strip() liuyang print name.lstrip() liuyang print name.rstrip() liuyang print name.strip().upper() LIUYANG print name.strip().upper().lower() liuyang
9.Python內置函數strip():
type()
判斷數據類型
name = ‘liuyang‘ print type(name) str
10.流程控制
10.1.布爾值:True,False
True:表示真
False:表示假
4>3 True not 0 True 5>6 False
10.2.邏輯運算:and or not
#A and B 就是A 和B都是TRUE的時候才是TRUE,其它情況都是false
#A or B 就是A 和B只要有一個是TRUE就是TRUE,條件至成立一個即為TRUE
#not A如果A是FALSE返回TRUE,如果A 是True返回FALSE
註:‘and’的優先級高於‘or’
10.3.if else判斷:
if 條件判斷(真/假):條件為真執行if後面語句
else:#條件為假執行else語句
條件為假的情況:
#空字符串
#空列表
#數字0
#空字典都是
#none
if ‘‘: print ‘123‘ else: print ‘1231343‘ 1231343 # if not 0: print ‘add‘ else: print ‘dd‘ add # list = [] >>>if list: print ‘list不為空為真‘ else: print ‘aaa‘ aaa # if dict: print ‘123132‘ else: print ‘af‘ af
10.4.while循環:
#while 條件成立:
# 如果情況是TRUE,代碼持續執行;不成立即為False
#while循環直到情況是false才會退出
#while True一直循環,break手動終止
break和continue都是針對for循環和while循環的
break:跳出循環
#continue:跳過本次循環
i = 0
while i<20:
print i
i = i + 1
#
>>>name = ‘‘
# 定義name為空,while判斷name非空是True,代碼執行,
# name空為假,條件判斷FALSE退出print name
while not name:
name=raw_input(‘input your name‘)
print ‘hello ‘+name
10.5.for 循環序列:專門針對list,dict,以後用到比較多的流程控制
for name in [‘2‘,‘3‘,‘4‘]: print name 2 3 4
練習1:輸入一個數字,不為0時打印所有數字的和,如果數據輸入是0直接退出
#/usr/bin/python #coding=utf-8 sum = 0 while True: num = int(raw_input(‘input a number‘)) if num == 0: break else: sum = sum + int(num) print sum 執行腳本:輸入23 22 22 輸入0 退出腳本,打印輸入數字總和67
練習2:本金是10000,年利率是3.25%,求多少錢後,存款能翻翻
#/usr/bin/python #coding=utf-8 money=10000 lixi=0.0325 y=0 #如果money小於20000條件為true則循環一直執行,flase跳出循環 即money大於20000也就是本金翻翻 while money <= 20000: money=money*(1+lixi) y = y + 1 print money,y #執行腳本 20210.6986788存款翻翻 22年
練習3:打印最大的兩個值
#/usr/bin/python #coding=utf-8 unsort_num = [1,2,3,444,555,3234,35,65535,65535,21] #print unsort_num max_num1 = 0 max_num2 = 0 for i in unsort_num: if i > max_num1: max_num2 = max_num1 max_num1 = i elif i > max_num2: max_num2 = i print "max num is:%s,second max num is: %s " %(max_num1,max_num2) #打印結果 max num is:65536 ,second max num is 65535
練習4:用戶登錄,驗證用戶及密碼,密碼輸入錯誤三次退出登錄
name = raw_input(‘input your name: ‘).strip() if name == ‘liuyang‘: count = 0 while count<3: passwd = raw_input(‘input your passwd: ‘) if passwd == ‘123456‘: print‘User %s login sucessfully !‘%(name) break else: print ‘Wrong passwd,please input again !‘ count +=1 print ‘passwd wrong three times,the count %s is locked !‘%(name) else: print "User %s not exists,please confirm !"%(name)
練習5:輸入一個數字,與50比較,大於50提示輸入數字太大,小於50,提示輸入數字太小,三次機會,超過三次,返回輸入錯誤
優化前:
#/usr/bin/python #coding=utf-8 compare_num = 50 count = 0 while count<=3: input_num = int(raw_input(‘input a number: ‘)) if input_num == compare_num: print ‘輸入數字正確‘ break elif input_num > compare_num: print ‘輸入的數字%s大於%s,還有%d次機會‘%(input_num,compare_num,3-count) else: print ‘輸入的數字%s小於%s,還有%d次機會‘%(input_num,compare_num,3-count) count +=1 #優化後 # #/usr/bin/python #coding=utf-8 import sys compare_num = 50 count = 0 while count<=3: input_num = raw_input(‘input a number: ‘) try: num = int(num) except Exception,e: print ‘輸入非法‘ sys.exit() time = 3-count if input_num > compare_num: print ‘輸入的數字太大,還有%s次機會‘%(time) elif input_num < compare_num: print ‘輸入的數字太小,還有%s次機會‘%(time) else: print ‘輸入數字正確‘ break count +=1
#引申:
exit():是Python系統函數 import sys #導入系統函數
break 與exit() exit是直接退出python腳本,break是退出當前循環
異常檢查處理
try:
1/0 #執行語句,並返回執行結果
except Exception,e:
print "語法錯誤"
python第一天