1. 程式人生 > >python第一天

python第一天

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第一天