從上到下
從左到右
模塊名,包名,普通數(shù)據(jù)量一般小寫字母,多個單詞之間用 _ 連接
不要用系統(tǒng)定義的名稱,具有特殊意義的表示符,如:doc,txt之類的
每行代碼不易過長
單個字母使用為名字的時候 i(大小寫)、L(大小寫)、O(大小寫)最好別用,容易混淆,與數(shù)字1分不清楚...
不能使用Python中內(nèi)置的變量,具體自行查看
import keyword
print(keyword.kwlist)
還有許多....
上面這些都不是大問題,程序仍可正常運行,再說一般的編輯器都有格式化,如: pyCharm:ctrl+alt+L , vs code: alt+shift+F,習(xí)慣的格式化一下就行了.
但是容易遭人錘
Python沒有像其他語言一樣用{}包裹著代碼塊,Python是嚴(yán)格按照縮進(jìn)來區(qū)分代碼塊的,所以推薦tab 與 空格 盡量不要混用,代碼多了空格多一個少一個眼睛看瞎了也找不出...
像這種的出現(xiàn)了else,與if不同級,沒有匹配到if,編輯器就給出了紅色波浪線,如果不是這種成對出現(xiàn)的編輯器是不會報錯的,沒有紅色框是很難看出來哪里多,少了一個宮格...關(guān)鍵是這種錯誤無法格式化到正常賞心悅目的代碼。
# + - * / 加減乘除
# ** 平方 print(2**3) 8
# % 取余數(shù) print(9%2) 1
# // 取商 print(9//2) 4
# in 判斷在某個東西里包含
# not in 判斷不在某個東西里包含
# 邏輯運算符
# not 取反
# and 同時True為True
# or 一個為True為True
# 三者的優(yōu)先級關(guān)系:not>and>or,同一優(yōu)先級默認(rèn)從左往右計算,將要提升的運算用()小括號包括,與數(shù)學(xué)中一樣
# 比較運算符
# == 等于
# != 不等于
# <> 不等于
# >
# >=
# <
# <=
# 身份運算符
# is 比較id id(變量名) 查看id
# == 比較值
# input(提示用語),輸入完按回車即可
name = input('請輸入您的名字:')
print('您好'+str(name)+'!')
# 這里不考慮輸入的不是數(shù)字的情況
num = input('請輸入一個數(shù)字:')
# 輸入的雖然是數(shù)字,但是是個字符串類型的數(shù)字
print(type(num))
# 將輸入的字符串轉(zhuǎn)換為數(shù)字
num = int(num)
if num % 2 == 0:
print('您輸入的數(shù)字', num, '是個偶數(shù)')
print('程序結(jié)束')
執(zhí)行順序如下:
# 格式
if 條件1:(滿足條件執(zhí)行下方語句塊結(jié)束)
語句塊
else:(不滿足上面條件執(zhí)行else后語句塊結(jié)束)
語句塊
# 這里不考慮輸入的不是數(shù)字的情況
age = int(input('請輸入您的年齡:'))
if age > 0:
print('您輸入的年齡為', age)
else:
print('請不要開玩笑')
print('程序結(jié)束')
格式:
if 條件1:
語句塊
elif 條件2:
語句塊
...
elif 條件n:
語句塊
else:
語句塊
滿足任意條件執(zhí)行那個條件后的語句塊后結(jié)束,如都不滿足執(zhí)行else后的語句塊結(jié)束
# 這里不考慮輸入的不是數(shù)字的情況
score = int(input('請輸入您的分?jǐn)?shù)(0-100之間):'))
# 如不滿足第一個條件必然是小于等于100分的
if score > 100:
print('小孩子撒謊可不好啊!!!')
# 所以這個判斷的就是是否在90-100之間,包含90和100,下方同理
elif score >= 90:
print('表現(xiàn)不錯,帶你去旅游')
elif score >= 80:
print('還可以,去吃頓好的慶祝一下')
elif score >= 70:
print('表現(xiàn)一般,下次繼續(xù)努力')
elif score >= 60:
print('這分?jǐn)?shù)有些危險')
elif 0 <= score < 60:
print('考試不及格,準(zhǔn)備好挨打')
else:
print('你怎么考出來的負(fù)數(shù)?')
??判斷語句里面可以重復(fù)嵌套判斷語句
三元表達(dá)式(語法糖):
格式:
為真的值 if 條件 else 為假的值
注意 if 和 else 后無:(冒號)
age = int(input('請輸入您的年齡:'))
res = '可以當(dāng)小朋友的叔叔了' if age>=30 else '還小呢,最多是個哥哥'
print(res)
# 三元表達(dá)式也可以嵌套,不過不推薦嵌套太多,容易暈吶!!!
age = int(input('請輸入您的年齡:'))
res = '老爺爺' if age>=60 else '叔叔' if age>=30 else '小弟弟' if age <=20 else '大哥哥'
print(res)
for i in range(10):
print(i)
for i in range(10,30):
print(i)
for i in range(10,30,2):
print(i)
# 小知識,print()后面默認(rèn)跟了\n(換行),可以更改
for i in range(10):
print(i,end=' ')
for i in range(10):
print(i,end='\t')
# 至于字符串之類的為啥能循環(huán),因為字符串,列表之類的是可迭代對象,后面在介紹
str1 = 'hello world'
for i in str1:
print(i,end='')
str1 = 'hello world'
for i in str1:
if i == ' ':
i = ','
print(i,end='')
count = 0
res = 0
while count < 11:
res+=count
# 注意一定有一個變化的量用來退出循環(huán),不然就是死循環(huán),就是一直循環(huán)
count+=1
# else可以省略,可要可不要
else:
print('此時條件不滿足退出循環(huán)執(zhí)行我')
print('程序繼續(xù)向下執(zhí)行')
print('1-10的累加和為:',res)
# 死循環(huán)很簡單,就是while條件一直滿足就行了
while 1:
print('我一直執(zhí)行')
print('上面循環(huán)不結(jié)束我一直無法執(zhí)行')
# 強制關(guān)閉ctrl+C,或者點擊結(jié)束程序
pass : 無任何意義,什么也不執(zhí)行
continue : 執(zhí)行下次循環(huán)
break : 退出循環(huán)
for i in range(10):
if i > 3:
pass # 雖然無意義,但是不寫會報錯
else:
print('這里都是小于等于3的數(shù)字:', end='')
print(i)
for i in range(10):
if i == 2:
continue # 滿足條件跳過本次循環(huán)
print(i)
for i in range(10):
if i == 2:
break # 滿足條件終止循環(huán)
print(i)
count = 0
while count < 11:
if count < 5:
print('小于5的數(shù)字:',count)
count+=1
else:
break
else:
print('非正常結(jié)束循環(huán)我不執(zhí)行 ')
接下來寫一個猜骰子數(shù)字的小游戲,嗯...猜不對不讓離開的那種.順便好好捋一下程序的執(zhí)行順序(劃重點)以及continue和break的作用與用法。
# 導(dǎo)入模塊
import random
while 1:
# 生成1-6的隨機數(shù)
random_num = random.randint(1, 6)
print(random_num)
while 1:
# 等待用戶輸入,輸入的內(nèi)容去掉特殊符號
num = input('請輸入1-6的數(shù)字:').strip()
# 判斷輸入的不是一位的字符串類型的數(shù)字
if len(num) >= 2 or not num.isdigit():
# 溫馨提示一下
print('提示:請輸入1-6的數(shù)字')
# 本次循環(huán)跳過,從頭(等待用戶輸入數(shù)字那里)開始執(zhí)行
continue
# 判斷輸入的數(shù)字是否在1-6之間
if int(num) > 6 or num == '0':
print('提示:請輸入1-6的數(shù)字')
# 如果不在跳過后面代碼繼續(xù)從頭(等待用戶輸入數(shù)字那里)開始
continue
print(num)
# 判斷輸入的與隨機出來的是否一致
if random_num != int(num):
print(num+'這個數(shù)字不對呢')
# 不一致從頭(等待用戶輸入數(shù)字那里)開始
continue
# 上面所有條件不滿足說明答案是對的,正常執(zhí)行
print(str.format('恭喜你,{}是正確的呢', num))
# 退出這一層循環(huán)
break
# 詢問是否繼續(xù)
decide = input('不玩了輸入N退出:')
# 不是輸入n或者N進(jìn)入if語句
if decide.upper() != 'N':
# 不是退出從隨機數(shù)哪里開始重新執(zhí)行
continue
# 輸入n滿足上面條件退出最外層循環(huán)
break
# 程序結(jié)束
------------------ End -------------------