python控制语句第一章_python基础第一章
Python基礎
第一個python程序
變量
程序交互
基本數據類型
格式化輸出
基本運算符
流程控制if...else...
流程控制-循環
第一個python程序
文件執行
1.用notepad++創建一個文件,輸入以下代碼:
print('HelloWorld')
print('python好簡單啊,我要學好掙大錢!')
2.保存為HelloWorld.py,注意要強調.py后綴名的作用
3.進入 cmd命令行,執行python HelloWorld.py,看結果(在文件名前加python的原因是要把代碼交給python解釋器去解釋執行)
交互器執行
python交互器就是主要用來對代碼進行調試用的
變量
變量是什么?
eat = 100+20+30
cloth = 200+300
print('total=',cloth+eat)
所謂的變量,就是把程序運算的中間結果臨時存放到內存里,以備后面的代碼繼續調用,用來標記數據,存儲數據的
變量定義規范
聲明變量
name = 'xiaoyafei'
其中name被稱為“變量名/標識符”,'xiaoyafei'被稱為“變量值”。
變量定義規則
變量只能是字母、數字、下劃線的任意組合
變量名的第一個字符不能是數字
關鍵字不能被稱為變量名,如['and','as','class']
定義方式
駝峰體
AgeOfXiao = 20
NumberOfStudents = 56
下劃線
age_of_Xiao = 20
Number_of_Stundets = 56
常量
在程序運行過程中不會改變的量,在python中沒有一種專門的語法來代表常量,但是約定俗成的變量名全部大寫為常量,例如:
AGE_OF_XIAO = 22 #這種就是常量
程序交互
讀取用戶輸入
name = input('what is your name?')
print('Hello,'+name)
在執行腳本的時候就會發現,程序會等待輸入完name之后再往下繼續走
可以讓多個用戶輸入多個信息,例如:
name = input('what is your name?')
age = input('what is your age?')
hometown = input('what is your hometown?')
print("hello",name,"your age:",age,"years old,you come from,",hometown)
程序運行結果如下:
what is your name?a
what is your age?b
what is your hometown?c
hello a your age: b years old,you come from, c
注釋
代碼注釋原則
不用全部添加注釋,只需要在自己覺得很重要或者不好理解的地方加注釋即可
注釋可以用中文或英文,但不能用拼音
數據類型
在每個編程語言中,都會有一個叫數據類型的東西,其實就是對常用的各種數據類型進行了明確的劃分,python數據類型有很多中,今天只講3中:數字、字符串、布爾類型。
數字
int(整型)
在32位機器上,整數的位數是32位,取值范圍是-2 ** 31~2 ** 31-1
在64位機器上,整數的位數是64位,取值范圍是-2 ** 63~2 ** 63-1
long(長整型)
跟C語言不同,python的長整數沒有指定位寬,即:python沒有限制長整數的大小,但實際上機器內存有限,使用的長整數數值不可能無限大
注意: 在python2.2起,如果整數發生溢出,python會自動將整數數據轉換為長整數,所以如今在長整數數據后面不添加L也不會導致嚴重后果
在python3中不會再有long類型的了,全部都是int
>>> a = 2**64
>>> type(a)
輸出結果為:class 'int' #在python3終端上測試
除了int和long,其實還有float浮點型、復數型
字符串
在python中,加了引號的字符都被陳志偉字符串
>>> name = "xiaoyafei" #雙引號
>>> age = '22' #單引號
>>> age2 = 22
>>>
>>> msg = '''my name is xiaoyafei,i am 22 years old.''' #多引號
那么有人就會問了,單引號、雙引號、多引號有什么區別?讓我告訴你,單雙引號沒有什么區別,就是在下面的情況要考慮單雙引號的搭配:
>>> msg = "my name is xiaoyafei,I'm 22 years old."
多引號什么作用呢?作用就是多行字符必須用多引號:
>>> msg = '''
... 飛流直下三千尺,
... 疑是銀河落九天。
... '''
字符串拼接
>>> name = 'xiaoyafei'
>>> age = '22'
>>> name + age #相加就是簡單的拼接
'xiaoyafei22'
>>> name * 10 #相乘即使復制自己多少次
'xiaoyafeixiaoyafeixiaoyafeixiaoyafeixiaoyafeixiaoyafeixiaoyafeixiaoyafeixiaoyafeixiaoyafei'
注意:字符串的拼接只能雙方都是字符串,不能跟數字或者其他類型的進行拼接
>>> name = 'xiaoyafei'
>>> age = 10
>>> type(name)
>>> type(age)
>>> name + age
Traceback (most recent call last):
File "", line 1, in
TypeError: must be str, not int #類型必須是字符串
布爾值
布爾類型其實很簡單,就兩個值:True和Flase
>>> a = 2
>>> b = 5
>>> a > b #不成立就是Flase,即假
False
>>> a < b #成立就是True,即真
True
格式化輸出
#-*- coding:utf-8 -*-
name = input('Name:')
age = input('Age:')
addr = input('Addr:')
info = '''
--------------info of %s---------------
Name :%s
Age :%s
Addr :%s
'''%(name,name,age,addr)
print(info)
%s代表的是字符串占位符,除此紫外,還有%d數字占位符
運行結果如下:
Name:xiaoyafei
Age:22
Addr:HangZhou
--------------info of xiaoyafei---------------
Name :xiaoyafei
Age :22
Addr :HangZhou
那么有問題來了,為什么數字用%s的話竟然沒有報錯呢?讓我們來看看:
>>> age = input('Age:') #input接受的所有輸入默認都是字符串格式
Age:22
>>> type(age)
如果想轉換為整型的話,那么就需要使用[int(youStr)]
基本數據類型
計算機可以進行的運算有很多種,運算按種類可分為算數運算、比較運算、邏輯運算、賦值運算、成員運算、身份運算、位運算,今天暫只學習算數運算、比較運算、邏輯運算、賦值運算
算數運算
設置一下變量:a=10,b=20
那么:
比較運算
復制運算
邏輯運算
流程控制if...else...
單分支
if 條件:
滿足條件后執行的代碼
例如:
xiaoyafei_age = 22
if xiaoyafei_age<23: #條件
print('he is young') #滿足條件做的事情
運行結果:
he is young
雙分支
if 條件:
滿足條件后執行的代碼
else:
if條件不滿足才會執行的代碼
例如:
xiaoyafei_age = 24
if xiaoyafei_age<23:
print('還是很年輕')
else:
print('不年輕了')
運行結果如下:
不年輕了
多分支
if 條件:
滿足條件執行代碼
elif 條件:
上面的條件不滿足就走這個
elif 條件:
上面的條件不滿足就走這個
elif 條件:
上面的條件不滿足就走這個
else:
上面所有的條件不滿足就走這段
寫一個猜年齡的程序把:
# -*- coding:utf-8 -*-
xiaoyafei_age = 22
guess = int(input('>>:'))
if guess >xiaoyafei_age:
print('猜大了,請往小的猜')
elif guess < xiaoyafei_age:
print('猜小了,請往大的猜')
else:
print('恭喜你猜對了!')
再來個匹配成績的代碼吧,ABCDE5個等級,與分數對應關系如下:
A 90-100
B 80-89
C 60-79
D 40-59
E 0-39
要求用戶輸入0-100的數字后,能正確打印她的對應成績:
score = input('輸入分數:')
if score > 100:
print('最高分才100')
elif score >=90:
print('A')
elif score >=80:
print('B')
elif score >=70:
print('C')
elif socre >=60:
print('D')
else:
print('E')
這里有個問題,就是當我輸入95的時候 ,它打印的結果是A,但是95 明明也大于第二個條件elif score >=80:呀, 為什么不打印B呢?這是因為代碼是從上到下依次判斷,只要滿足一個,就不會再往下走啦,這一點一定要清楚呀!
流程控制-循環
while循環
語法
簡單吧,while就是當的意思,while是指當其后面的條件成立,就執行while下面的代碼
寫個程序從0打印100的程序,每循環一次,+1
count = 0
while count <= 100: #只要count<=100,就不斷執行下面的代碼
print('loop:',count)
count += 1
輸出:
loop: 0
loop: 1
loop: 2
.....
loop: 98
loop: 99
loop: 100
那么我如果想實現打印1-100之內的偶數怎么辦呢?
那么就需要先搞清,怎么判斷一個數字是偶數?能被2整除的數就是偶數,怎么能判斷是否被2整除呢?只需要除完2沒有余數就可以了。
count = 0
while count<=100: #只要count<=100那么就會一直執行下去
if count %2 == 0: #是偶數
print('loop:'count)
count += 1 #每執行一次,就把count+1,要不然就變成死循環了,因為count一直都是0
死循環
有一種循環叫做死循環,一經觸發,就運行個天荒地老、海枯石爛。
while是只要后邊條件成立(也就是條件結果為真)就一直執行,怎么讓條件一直成立呢?
count = 0
while True: #True本身就代表著真
print('你是風兒我是沙,纏纏綿綿到天涯......',count)
count +=1
當然了,這是死循環,會將你的電腦的內存全部吃完然后死機,我可沒有去執行,當然執行的朋友們可以使用[ctrl+c]結束
循環終止語句
如果在循環過程中,因為某些原因,你不想繼續循環了,怎么把它終止掉呢?這就需要break和continue了。
break用于完全結束一個循環,跳出循環體執行循環后面的語句
continue和break有點類似,區別在于continue只是終止本次循環,接著還執行后面的循環,break則完全跳出循環
break語句
count = 0
while count<=5:
print('loop:',count)
if count == 3:
break
count +=1
print('out of while loop')
運行結果如下:
loop: 0
loop: 1
loop: 2
loop: 3
out of while loop
coutinue語句
count = 0
while count<=10:
count +=1
if count>3 and count<8: #表示在這里當count>3并且count<8的同時,不做任何操作
continue
print('loop:',count)
print('game over')
運行結果如下:
loop: 1
loop: 2
loop: 3
loop: 8
loop: 9
loop: 10
loop: 11
game over
while...else...
與其他語言else一般只與if搭配不同,在python中還有個while...else語句
while后面的else作用是指,當while循環正常執行完,中間沒有被break終止的話,就會執行else后面的語句
count = 0
while count<=5:
count +=1
print('loop:',count)
else:
print('循環正常執行完...')
print('out of while loop')
運行結果如下:
loop: 1
loop: 2
loop: 3
loop: 4
loop: 5
loop: 6
循環正常執行完...
out of while loop
如果執行過程中,被break中斷,就不會執行else語句
count = 0
while count <= 10:
count +=1
print('loop:',count)
if count ==2:
break
else:
print('程序被break中斷')
print('out of while loop')
運行結果如下:
loop: 1
loop: 2
out of while loop
總結
以上是生活随笔為你收集整理的python控制语句第一章_python基础第一章的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql双机数据热备份_配置MySQL
- 下一篇: adb native raact 夜神_