-
與運算只有兩個布爾值都為 True 時,計算結果才為 True。
或運算只要有一個布爾值為 True,計算結果就是 True。
非運算把True變為False,或者把False變為True:
a = True
print(a and 0 or 99) # ==> 99
True and 0計算結果是0?繼續計算0 or 99計算結果是 99?
因此,結果是99。
需要注意的是,not計算的優先級是高于and和or的。短路計算Python解釋器在做布爾運算時,只要能提前確定計算結果,它就不會往后算了,直接返回結果。
查看全部 -
取模運算Python數字支持取模運算,使用百分號
%表示取模。就是余數地板除
地板除,對于地板除,得到的結果會忽略純小數的部分,得到整數的部分,地板除使用//進行。小數點位數round()函數來處理 如:round(num,2)=就是保留二位小數
查看全部 -
合法的變量名????變量不僅可以是數字,還可以是任意數據類型(字符串、布爾值、空值、字典等)
變量名由大小寫英文字母、數字和下劃線_組成
變量不能用數字開頭
變量盡量不要和Python關鍵字重合(比如前面學習過的:and、or、not,否則可能導致Python原有關鍵字發揮不出作用)
定義變量????變量名?=?數據
查看全部 -
整數??例如:1,2
二進制0b?????十六進制0x
浮點數?對應我們生活的是小數?????10用e替代

字符串字符串是以''或""括起來的任意文本,比如'abc',"xyz"等
布爾值就是
對和錯?and運算是與運算,只有所有都為 True,and運算結果才是 True。or運算是或運算,只要其中有一個為 True,or 運算結果就是 True。not運算是非運算,它是一個單目運算符,把 True 變成 False,False 變成 True。空值用
None表示查看全部 -
r'''內部的反斜杠可以全部去除 需要用換行符時回車另起一行即可
查看全部 -
tuple用于存放固定不變的數據
查看全部 -
2023.1.16的代碼寫法
#五名同學的成績可以用一個list表示:L = [95.5, 85, 59, 66, 72],請按照索引的方式分別打印出第一名、第二名、第三名。
L = [95.5, 85, 59, 66, 72]
L1=sorted(L) ? # 自己想的
print(list(reversed(L1[2:]))) ?# 自己想的,
# print(reversed(L1[2:])) ?報錯提示:<list_reverseiterator object at 0x0028E508>,。這個函數不返回列表,而是返回一個迭代器??墒褂胠ist將返回的對象轉換為列表
print(L[0],L[1],L[4])查看全部 -
if num%2==0
查看全部 -
# 2023.1.16 寫這段代碼時答案已經跟標準答案一樣了,真棒
# 請綜合使用while和continue,計算0~1000以內,所有偶數的和。
s=0
n=0
while n<1000:
? ?n += 1
? ?if n%2==1:
? ? ? ?continue
? ?s=s+n
print(s)查看全部 -
# 2023.1.12? 和2022.2.22比 還是不會,有很多細節不清楚導致做錯
#編寫一個函數,它接受關鍵字參數names,gender,age三個list,分別包含同學的名字、性別和年齡,請分別把每個同學的名字、性別和年齡打印出來。
def info(**kwargs):
? ?name_list=kwargs['names']
? ?gender_list = kwargs['gender']
? ?age_list = kwargs['age']
? ?index=0
? ?for name in name_list:
? ? ? ?gender=gender_list[index]
? ? ? ?age=age_list[index]
? ? ? ?index+=1
? ? ? ?#print('name:{},gender:{},age:{}'.format(kwargs.get('names'),kwargs.get('gender'),kwargs.get('age')))
? ? ? ? ? ?## kwargs.get('name')這里這種寫法不行,會導致輸出結果不對,輸出3句 name:['A', 'B', 'C'],gender:['F', 'M', 'F'],age:['1', '2', '3']
? ? ? ?#print('name:{},gender:{},age:{}'.format(name,gender,age))
? ? ? ? ? ?# #這里不能行return,否則只循環了一次就結束了,就算往前一個縮進,那也只會返回最后一個結果
? ? ? ?print('name: {}, '.format(name) + 'gender: {}, '.format(gender) + 'age: {}, '.format(age)) #參考答案
s1=info(names = ['Alice', 'Bob', 'Candy'], gender = ['girl', 'boy', 'girl'], age = [16, 17, 15])
#這里必須用這種形式給出,如果單獨寫成三句names=['A','B','C']之類的,會報錯,說info不要參數,但是給了3個參數
#或者寫成 info(names=names , gender=gender, age=age )
#print(s1) ? 函數里用的print,不是return,這里再print會打印出來None查看全部 -
Python把0、空字符串和None看成False,其他數值和非空字符串都看成True
查看全部 -
# 請定義一個 greet() 函數,它包含一個默認參數,如果沒有傳入參數,打印 Hello, world.,如果傳入參數,打印Hello, 傳入的參數內容.
def greet(name='world.'):
? ? ? ?print('Hello, {}.'.format(name))
? ? ? #print('Hello, '+name+'.') ? ? ? ? ? #另一種字符串拼接方式
g1=greet('syx')
g2=greet()#2023.1.12 相對于2022.2.21來說,這道題已經會了,嘿嘿,有進步?。。?!
查看全部 -
# 請實現函數func,當參數類型為list時,返回list中所有數字類型元素的和,當參數類型為tuple時,返回tuple中所有數字類型元素的乘積。
def func(para):
? ?result=0
? ?result1=1 ? ? ? ? ? ? ? ? ? ? ? ? ? #這里不能用一個result來接返回值,因為累加初始值為0,而累積是1
? ?if isinstance(para,list):
? ? ? ?for i in para: ? ? ? ? ? ? ? ? ? #這里是in para ? 而不是 in list,list不是函數里的變量名
? ? ? ? ? ?if isinstance(i,int) or isinstance(i,float):
? ? ? ? ? ? ? ?result=result+i
? ? ? ?return result
? ?if isinstance(para, tuple): ? ? ? ? #這里的if可以優化成elif,這樣最后一個判斷就可以變成else
? ? ? ?for i in para:
? ? ? ? ? ?if isinstance(i, int) or isinstance(i, float):
? ? ? ? ? ? ? ?result1 = result1 * i
? ? ? ?return result1
? ?if not isinstance(para,list) or not isinstance(para,tuple):
? ? ? ?return None
t1=func([1,2,3,4,5])
t2=func((1,2,3,4,5)) ? ? ? ? ? ? ?#若參數為元組,則需注意有兩層括號?。?!,否則相當于把元組里的元素當成了單獨的參數
t3=func('I LOVE YOU!')
t4=func([1,2,'a',3,4,5])
t5=func((1,2,'a',3,4,5))
print(t1)
print(t2)
print(t3)
print(t4)
print(t5)
#報錯: for i in list: t1=func([1,2,3,4,5]) TypeError: 'type' object is not iterable --in list這里是錯誤的,list不是func里的參數查看全部 -
if后定義變量,結尾需要加:
查看全部 -
常用的轉義字符還有:
\n表示換行
\t?表示一個制表符
\\表示?\?字符本身查看全部
舉報