Python入門(mén)
第一章-基礎(chǔ)
1.1字面量
1.2注釋
"""
我是多行注釋
本代碼XXXX
"""
print("niuma")
# 我是單行注釋【#開(kāi)頭 建議空一個(gè)格 再寫(xiě)注釋內(nèi)容】
print(666)
1.3變量
# 格式:變量名=變量值
# 定義一個(gè)變量,用來(lái)記錄錢(qián)包余額
money = 50
# 通過(guò)print語(yǔ)句,輸出變量記錄的內(nèi)容
print("錢(qián)包還有:",money)
money=money-10
print("買(mǎi)了冰淇淋花費(fèi)10元,還剩余:",money,"元")
# 假設(shè),每間隔一小時(shí),輸出一下錢(qián)包的余額
print("現(xiàn)在是下午1點(diǎn),錢(qián)包余額剩余:",money)
print("現(xiàn)在是下午2點(diǎn),錢(qián)包余額剩余:",money)
print("現(xiàn)在是下午3點(diǎn),錢(qián)包余額剩余:",money)
print("現(xiàn)在是下午4點(diǎn),錢(qián)包余額剩余:",money)
debug工具的使用
1.對(duì)著某行代碼 打斷點(diǎn)
2.下方一步步 步進(jìn)
1.4數(shù)據(jù)類(lèi)型
# 方式1:使用print直接輸出類(lèi)型信息
print(type("niuma"))
print(type(666))
print(type(11.111))
# 方式2:使用變量存儲(chǔ)type()語(yǔ)句的結(jié)果
string_type=type("黑馬")
int_type=type(666)
float_type=type(11.1111)
print(string_type)
print(int_type)
print(float_type)
# 方式3: 使用type()語(yǔ)句,查看變量中存儲(chǔ)的數(shù)據(jù)類(lèi)型信息
name="heima niuma"
name_type=type(name)
print(name_type)
1.5數(shù)據(jù)類(lèi)型轉(zhuǎn)換
# 數(shù)字轉(zhuǎn)字符串
num_str=str(11)
print(type(num_str),num_str)
float_str=str(11.345)
print(type(float_str),float_str)
# -------------------------------------
# 字符串轉(zhuǎn)數(shù)字
num=int("2222")
print(type(num),num)
num2=float("11.345")
print(type(num2),num2)
# 錯(cuò)誤示例,想要將字符串轉(zhuǎn)換成數(shù)字,必須要求字符串內(nèi)的內(nèi)容都是數(shù)字
# num3 =int("niuma zhongjiurong")
# print(type(num3),num3)
# 整數(shù)轉(zhuǎn)浮點(diǎn)數(shù)
float_num=float(11)
print(type(float_num),float_num)
# 浮點(diǎn)數(shù)轉(zhuǎn)整數(shù)[丟失精度] 轉(zhuǎn)換的結(jié)果只有整數(shù)部分:11
int_num=int(11.345)
print(type(int_num),int_num)
錯(cuò)誤示例
# 錯(cuò)誤示例,想要將字符串轉(zhuǎn)換成數(shù)字,必須要求字符串內(nèi)的內(nèi)容都是數(shù)字
num3 =int("niuma zhongjiurong")
print(type(num3),num3)
1.6標(biāo)識(shí)符
變量的命名規(guī)范:
1.見(jiàn)名知意,簡(jiǎn)潔;
2.(多個(gè)單詞)用下劃線(xiàn)命名法文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-811993.html
3.英文字母全小寫(xiě)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-811993.html
# 規(guī)則1:內(nèi)容限定,只能使用中文,英文,數(shù)字,下劃線(xiàn)
# 注意:不能以數(shù)字開(kāi)頭
# 錯(cuò)誤的代碼示范:name_!="張三"
# 規(guī)則2:大小寫(xiě)敏感
A="zhangsan1"
a="zhangsan2"
# 規(guī)則3:不可使用關(guān)鍵字 False True None class 等
# 錯(cuò)誤的代碼示范:def=1
Class=1
1.7運(yùn)算符
# 算術(shù)(數(shù)學(xué))運(yùn)算符
print("1+1=",1+1)# 加
print("2-1=",1+1)# 減
print("3*3=",3*3)# 乘
print("4/2=",4/2)# 除
print("11//2=",11//2)# 取整除
print("9%2=",9%2)# 取余
print("2**3=",2**3)# 指數(shù)
# 賦值運(yùn)算符
num=1+2*3
# 復(fù)合賦值運(yùn)算符
# +=
num=1
num+=1 # num=num+1
print("num+=1:",num)
num-=1 # num=num-1
print("num-=1:",num)
num*=4
print("num*=4:",num)
num/=2
print("num/=2:",num)
num=3
num%=2
print("num%=2:",num)
num**=2
print("num**=2:",num)
num=9
num//=2
print("num//=2:",num)
1.8字符串的三種定義方式
# 單引號(hào)定義法
name='niuma'
print(type(name))
# 雙引號(hào)定義法
name="niuma zhong"
print(type(name))
# 三引號(hào)定義法 寫(xiě)法與多行注釋一樣
name="""
niuma zhongjiur
"""
print(type(name))
# 注意:用變量接收它,就是字符串
# 若不適用變量接收它,它就是多行注釋
# 在字符串內(nèi)包含雙引號(hào)
name='"niuma"'
print(name)
# 在字符串內(nèi)包含單引號(hào)
name="'niuma'"
print(name)
# 使用轉(zhuǎn)義字符 \ 解除引號(hào)的效用
name="\"niuma\""
print(name)
name='\'niuma\''
print(name)
1.9字符串的拼接
# 字符串字面量之間的拼接
print("學(xué)IT來(lái)黑馬"+"月興過(guò)完")
# 字符串字面量和字符串變量的拼接
name="niuma"
address="jiangxi"
tel=40000008888
print("我是:"+name+",我的地址是:"+address+",my 電話(huà)是:"+tel)# 目前數(shù)字無(wú)法進(jìn)行拼接
1.10字符串格式化
name="niuma"
message="nimmmmm:%s"% name
print(message)
# 通過(guò)占位的形式,完成數(shù)字和字符串的拼接
class_num =57
avg_salary=16781
message="python niuma ,北京%s期,畢業(yè)平均工資:%s"%(class_num,avg_salary)
print(message)
name="船只博客"
setup_year=2006
stock_price=19.99
message="%s,成立于:%d,今天股價(jià)是:%f"%(name,setup_year,stock_price)
print(message)
1.11格式化的精度控制
num1=11
num2=11.345
print("數(shù)字11寬度限制5,結(jié)果是:%5d"%num1)
print("數(shù)字11寬度限制1,結(jié)果是:%1d"%num1)
print("數(shù)字11.345寬度限制7,小數(shù)精度2,結(jié)果是:%7.2f"%num2)
print("數(shù)字11.345寬度不限制,小數(shù)精度2,結(jié)果是:%.2f"%num2)
1.12字符串格式化方式2
name="江西財(cái)大"
set_up_yaer=1923
scale=2200.999999
jianjie='江西財(cái)經(jīng)大學(xué)是一所財(cái)政部、教育部、江西省人民政府共建,以經(jīng)濟(jì)、管理類(lèi)學(xué)科為主,法、工、文、理、藝術(shù)等學(xué)科協(xié)調(diào)發(fā)展的高等財(cái)經(jīng)學(xué)府'
zongli_say="你們學(xué)校是所很好的學(xué)校"
zongli_name="溫家寶"
# f:format
print(f"這里是{name},成立于:{set_up_yaer}年,占地面積:{scale}")
print(f"{jianjie}")
print(f"2008年2月,國(guó)務(wù)院總理{zongli_name}說(shuō):{zongli_say}")
1.13對(duì)表達(dá)式進(jìn)行格式化
print("1*1的結(jié)果是:%d"%(1*1))
print(f"1*2的結(jié)果是:{1*2}")
print("字符串在python中的類(lèi)型名是:%s"%type("字符串"))
練習(xí)
name="傳智播客"
stock_code="003032"
stock_price=19.99
print(f"公司:{name},股票代碼:{stock_code},當(dāng)前股價(jià):{stock_price}")
stock_price_daily_growth_facter=1.2
growth_days=7
finnal_price=stock_price*stock_price_daily_growth_facter**growth_days
print("每日增長(zhǎng)系數(shù)是:%.1f,經(jīng)過(guò)%d天的增長(zhǎng)后,股票達(dá)到了:%.2f"%(stock_price_daily_growth_facter,growth_days,finnal_price))
第二章-條件語(yǔ)句
2.0input輸入
name=input("你是誰(shuí)?")# 給出提示信息,并用name接收【免去在前面寫(xiě)print手動(dòng)提示】
print("我知道了,你是:%s"%name)
# 輸入數(shù)字類(lèi)型
num=input("請(qǐng)告訴我你的學(xué)號(hào):")# input默認(rèn)接收 成為字符串,哪怕是數(shù)字也會(huì)自動(dòng)轉(zhuǎn)為字符串
# 數(shù)據(jù)類(lèi)型轉(zhuǎn)換
num=int(num)# 需要數(shù)字類(lèi)型,得自行進(jìn)行類(lèi)型轉(zhuǎn)換
print("學(xué)號(hào)類(lèi)型是:",type(num))
練習(xí)
user_name=input("請(qǐng)您輸入用戶(hù)名")
user_type=input("請(qǐng)您輸入您的用戶(hù)級(jí)別")
# 使用%占位符的方式輸出
# print("您好:%s,您是尊貴的:%s用戶(hù),歡迎您的光臨。"%(user_name,user_type))
# 使用f"{變量}"的方式輸出
print(f"您好:{user_name},您是尊貴的:{user_type}用戶(hù),歡迎您的光臨。")
2.1布爾類(lèi)型和比較運(yùn)算符
# 定義變量存儲(chǔ)布爾類(lèi)型的數(shù)據(jù)
bool_1=True
bool_2=False
print(f"bool_1變量的內(nèi)容是:{bool_1},類(lèi)型是:{type(bool_1)}")
print(f"bool_2變量的內(nèi)容是:{bool_2},類(lèi)型是:{type(bool_2)}")
# 比較運(yùn)算符的使用
# ==,!=,>,<, >=, <= 注意:兩個(gè)等號(hào)
# 演示進(jìn)行內(nèi)容的相等比較
num1=10
num2=10
print(f"10==10的結(jié)果是,{num1==num2}")
num1=10
num2=15
print(f"10!=15的結(jié)果是:{num1!=num2}")
name1="ittest"
name2="niuma"
print(f"ittest==niuma的結(jié)果是:{name1==name2}")
#演示 大于小于,大于等于,小于等于的比較運(yùn)算
num1=10
num2=5
print(f"10>5的結(jié)果是:{num1>num2}")
print(f"10<5的結(jié)果是:{num1<num2}")
num1=10
num2=10
print(f"10>=10的結(jié)果是:{num1>=num2}")
print(f"10<=10的結(jié)果是:{num1<=num2}")
num1=10
num2=11
print(f"10<=11的結(jié)果是:{num1<=num2}")
print(f"10>=11的結(jié)果是:{num1>=num2}")
2.2if語(yǔ)句的基本格式
age=20
if age>=18: # 不需要括號(hào),需要冒號(hào)
print("我已經(jīng)成年了")# 因歸屬于if的代碼塊,語(yǔ)句前需要 四個(gè)空格縮進(jìn)
print("步入大學(xué)生活")# 因歸屬于if的代碼塊,語(yǔ)句前需要 四個(gè)空格縮進(jìn)
print("niumama")# 不歸屬if代碼塊,則不需要四個(gè)空格縮進(jìn),且會(huì)自動(dòng)輸出(無(wú)條件)
練習(xí)
2.3案例-成年人判斷講解
#age=input("請(qǐng)您輸入年齡")# 獲取鍵盤(pán)輸入
#age=int(age)# 數(shù)據(jù)類(lèi)型轉(zhuǎn)換
age=float(input("請(qǐng)您輸入年齡"))# 簡(jiǎn)化[獲取輸入+數(shù)據(jù)類(lèi)型轉(zhuǎn)換放在一起],注意使用float類(lèi)型更佳
if age>=18:
print("歡迎來(lái)到黑馬兒童游樂(lè)園,兒童免費(fèi),成人收費(fèi)。")
print(f"您輸入的年齡是:{age}")
print("您已成年,游玩需要補(bǔ)票10元。")
print("祝您游玩愉快。")
2.4if-else組合判斷語(yǔ)句
age=int(input("請(qǐng)輸入你的年齡:"))
if age>=18:
print("您已成年,需要買(mǎi)票10元。")
else:
print("您未成年,玩吧,你免費(fèi)的。")
print("游玩愉快哦!")
練習(xí)
2.5案例-我要買(mǎi)票嗎
high=float(input("請(qǐng)輸入您的身高(cm)"))
print("歡迎來(lái)到黑馬動(dòng)物園。")
if high>=120:
print("您的身高超出120cm,游玩需要購(gòu)票10元。")
else:
print("您的身高未超出120cm,可以免費(fèi)游玩。")
print("祝您游玩愉快。")
2.6if-else-else組合使用的語(yǔ)法
if int(input("請(qǐng)輸入你的身高(cm):"))<120:
print("身高小于120cm,可以免費(fèi)。")
elif int(input("請(qǐng)輸入你的VIP等級(jí)(1-5):"))>3:
print("您是尊貴的VIP用戶(hù),級(jí)別大于3,可以免費(fèi)")
elif int(input("請(qǐng)告訴我今天幾號(hào):"))==1:
print("今天是1號(hào)免費(fèi)日,可以免費(fèi)")
else:# else這一套語(yǔ)句 可以省略不寫(xiě),效果等同于3個(gè)獨(dú)立的if判斷
print("不好意思,條件都不滿(mǎn)足,需要買(mǎi)票10元。")
# 注意:elif 條件判斷是互斥的, 從上至下
2.7案例-猜猜心里數(shù)字講解
num=10
if int(input("請(qǐng)輸入你猜想的數(shù)字"))==num:
print("恭喜你,你猜對(duì)了")
elif int(input("猜錯(cuò)了,再猜一次:"))==num:
print("猜對(duì)了")
elif int(input("不對(duì),再猜最后一次:"))==num:
print("猜對(duì)了")
else :
print("sorry,全部猜錯(cuò),我想的是10")
2.8判斷語(yǔ)句的嵌套
# if int(input("你的身高是多少"))>120:
# print("身高超出限制,不可以免費(fèi)")
# print("但是,如果VIP級(jí)別大于3,可以免費(fèi)")
#
# if int(input("你的VIP級(jí)別是多少:"))>3:
# print("恭喜你,VIP級(jí)達(dá)標(biāo),可以免費(fèi)")
# else:
# print("sorry 你需要買(mǎi)票10元")
# else:
# print("歡迎小朋友免費(fèi)游玩")
# python一鍵注釋多行: Ctrl+/
age=14
year=1
level=1
if age>=18:
print("你是成年人")
if age<30:
print("你的年齡達(dá)標(biāo)了")
if year>2:
print("恭喜你,年齡+入職時(shí)間都達(dá)標(biāo),可以領(lǐng)取禮物")
elif level>3:
print("恭喜你,年齡+級(jí)別都達(dá)標(biāo),可以領(lǐng)取禮物")
else:
print("不好意思,盡管年齡達(dá)標(biāo),但是入職時(shí)間和級(jí)別都不達(dá)標(biāo)。")
else:
print("不好意思,年齡大了")
else:
print("不好意思,小朋友不可以領(lǐng)取。")
2.9判斷語(yǔ)句綜合案例
# 1.構(gòu)建隨機(jī)的數(shù)字變量
import random
num=random.randint(1,10)
guess_num=int(input("輸入你要猜的數(shù)字"))
# 2.通過(guò)if判斷語(yǔ)句進(jìn)行數(shù)字的猜測(cè)
if guess_num==num:
print("恭喜你,第一次就猜中了")
else:
if guess_num>num:
print("你猜大了")
else:
print("你猜小了")
guess_num = int(input("輸入你要猜的數(shù)字"))
if guess_num==num:
print("恭喜,第二次猜中!")
else:
if guess_num > num:
print("你猜大了")
else:
print("你猜小了")
guess_num = int(input("輸入你要猜的數(shù)字"))
if guess_num == num:
print("恭喜,第三次猜中!")
else:
print("三次機(jī)會(huì)用完了,沒(méi)有猜中")
第三章-循環(huán)
3.0補(bǔ)充
3.01輸出不換行
# 輸出不換行
print("hello",end='')
print("world",end='')
3.02制表符\t
# 制表符\t = tab鍵
print("haha\tbest")
print("hello\tworld")
3.1while循環(huán)的基礎(chǔ)應(yīng)用
i=0
while i<100:
print(f"牛馬,{i}")
i+=1
3.2案例求1-100的和
sum=0
i=1
while i<=100:
sum+=i
i+=1
print(f"1-100累加的和是:{sum}")
3.3while循環(huán)猜數(shù)字案例
# 獲取范圍在1-100的隨機(jī)數(shù)字
import random
num=random.randint(1,100)
# 定義一個(gè)變量,記錄總共猜測(cè)了多少次
count=0
# 通過(guò)一個(gè)布爾類(lèi)型的變量,做循環(huán)是否繼續(xù)的標(biāo)記
flag=True
while flag:
guess_num=int(input("請(qǐng)輸入你猜的數(shù)字"))
count+=1
if guess_num==num:
print("猜中了")
# 設(shè)置為false就是終止循環(huán)的條件
flag=False
elif guess_num>num:
print("猜大了")
else:
print("猜小了")
print(f"你總共猜測(cè)了{count}次")
3.4while循環(huán)的嵌套應(yīng)用
# 外層,表白100天的控制
i=1
while i<=100:
print(f"今天是第{i},準(zhǔn)備表白。。。。。")
# 內(nèi)層循環(huán)
j=1
while j<=10:
print(f"送給小美的第{j}只玫瑰花")
j+=1
print("小美,我喜歡你")
i+=1
print(f"堅(jiān)持到第{i-1}天,表白成功")
3.5while循環(huán)案例-九九乘法表
# 通過(guò)while循環(huán)輸出9*9乘法表
# 定義外層循環(huán)
i=1
while i<=9:
# 定義內(nèi)層循環(huán)的控制變量
j=1
while j<=i:
# 不換行,通過(guò)\t對(duì)齊
print(f"{j}*{i}={j*i}\t",end='')
j+=1
i+=1
print() # print 空內(nèi)容 ,就是輸出一個(gè)換行
3.6for循環(huán)的基礎(chǔ)語(yǔ)法
name="nuimaa a "
for x in name:
# 將 name里的內(nèi)容,挨個(gè)取出,賦予臨時(shí)變量x
# 就可以在循環(huán)體內(nèi)對(duì)x進(jìn)行處理
print(x)
# 注意:無(wú)法定義循環(huán)條件, for 變量 in 被處理的數(shù)據(jù)。
# 注意:循環(huán)內(nèi)的語(yǔ)句,需要有空格縮進(jìn)?。?!
3.7for循環(huán)案例-數(shù)一數(shù)多少字母a
name="itheima is a brand of itcast"
sum=0 # 定義一個(gè)變量來(lái)統(tǒng)計(jì)有多少個(gè)a
for x in name:
if x=="a":
sum+=1
print(sum)
3.8range語(yǔ)句
# range 語(yǔ)法1 range(num)
# range(10)# 0-9
# for x in range(10):
# print(x)
# range 語(yǔ)法2 range(num1,num2)
# for x in range(5,10):# 從5開(kāi)始,到10結(jié)束(不含10本身)
# print(x)
# range 語(yǔ)法3 range(num1,num2,step)
# for x in range(5,10,2):# 從5開(kāi)始,到10結(jié)束(不包含10本身),數(shù)字之間 間隔2,
# print(x)
# for x in range(10):
# print("送玫瑰花")
練習(xí)
cout=0
for x in range(1,100):
if x%2==0:
cout+=1
print(f"1到100(不含100本身)范圍內(nèi),有{cout}個(gè)偶數(shù)。")
3.9for循環(huán)臨時(shí)變量作用域
i=0# 注意,你要先定義好
for i in range(5):
print(i)
print(i)# 若未先定義好i,則 規(guī)范上不建議
3.10for循環(huán)的嵌套使用
i=1
for i in range(1,101):# 1-100
print(f"今天是向小美表白的第{i}天,加油堅(jiān)持。")
for j in range(1,11):
print(f"給小美送的第{j}朵玫瑰花")
print("小美我喜歡你")
print(f"第{i}天,表白成功")
3.11for循環(huán)打印九九乘法表
# range 語(yǔ)法2 range(num1,num2)
# for x in range(5,10):# 從5開(kāi)始,到10結(jié)束(不含10本身)
# print(x)
for i in range(1,10):
for j in range(1,i+1):
print(f"{j}*{i}={j*i}\t",end='')
print()
3.12continue和break
#
# for i in range(1,6):
# print("語(yǔ)句1")
# continue
# print("語(yǔ)句2")
# continue 只在自己的循環(huán)中起作用
# for i in range(1,6):
# print("語(yǔ)句1")
# for j in range(1,6):
# print("語(yǔ)句2")
# continue
# print("語(yǔ)句3")
# print("語(yǔ)句4")
# 遇到break,整個(gè)循環(huán)結(jié)束
# for i in range(1,101):
# print("語(yǔ)句1")
# break
# print("語(yǔ)句2")
# print("語(yǔ)句3")
# 在含break的循環(huán)中,break生效。不在循環(huán),不能斷別的循環(huán)
for i in range(1,6):
print("語(yǔ)句1")
for j in range(1,6):
print("語(yǔ)句2")
break
print("語(yǔ)句3")
print("語(yǔ)句4")
3.13循環(huán)綜合案例
# 定義賬戶(hù)余額變量
sum=10000
# for循環(huán)對(duì)員工發(fā)工資
for i in range(1,21):
import random # 隨機(jī)生成1-10 要放入for循環(huán)中
num = random.randint(1, 10) # 注意!隨機(jī)生成1-10 要放入for循環(huán)中
if num<5:
print(f"員工{i},績(jī)效分{num},低于5,不發(fā)工資,下一位。")
continue# continue跳過(guò)發(fā)放
if sum>=1000:
sum-=1000
print(f"向員工{i}發(fā)放工資1000元,賬戶(hù)余額還剩余{sum}元")
else:
print("工資發(fā)完了,下個(gè)月領(lǐng)取吧。")
break# break結(jié)束發(fā)放
到了這里,關(guān)于【正在更新】【最新!黑馬程序員Python自學(xué)課程筆記】課上筆記+案例源碼+作業(yè)源碼的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!