1,已知復數 x = 6+ 8j 請寫出它的模、實部、虛部及共軛復數的命令,并寫出運行結果。
X = 6 + 8j
print("模為:%d"% abs(X))
print("實部為:%s"% X.real)
print("虛部為:%s"% X.imag)
print("共軛復數為:%s"% X.conjugate())
效果圖如下:
2,已知a= [97, 98, 99,100], b = (97, 98, 99,100), c = {‘x’:97, ‘y’:98, ‘z’:99,’q’:100}, d = {97, 98, 99,100},則a[1]、b[1]、c[1]、d[1]及c[‘q’])的運行結果分別是什么?并說明理由。
首先分析,由題可知
a為[列表],是一個有序的可重復的可變對象集合==== a[1]為列表a中的第二個元素,即98
b為(元組),有序的可重復的不可變的對象集合對象可以是不同的數據類型、一旦創建就不能改變,元組是常量列表==== b[1]為元組中的第二個元素,即98
c為{字典},無序的鍵值對集合、可變、字典的鍵值不允許重復==== 字典只能通過鍵值來唯一確定元素,不可以通過c[1]來顯示字典c中的元素,但可以通過鍵值來訪問字典中的元素,c[‘q’]可以,即顯示鍵值 字符’q’所對應的值100
d為{集合},無序的唯一對象集合===由于集合是無序的,故不可以通過d[1]來顯示d中的元素
3,`寫出以下命令的運行結果,并說明理由。
2 or 3
2 and 3
2 and 3 and True
0 and 3 and 1
0 and 3 or 1
0 and 3 or 1 or 4
0 or False and 1`
Python 中,
or 可以理解為找真值演算,從左到右發現真值就返回真值; 如果兩個都是假值,那就返回最后一個假值。
and 可以理解為找假值演算,從左到右發現假值就返回假值;如果兩個都是真值,那就返回最后一個真值。
演算規則簡單歸納一下就是:
or :找真值:如果有一個值為真,or 立刻返回第一個真值;如果所有值都為假,or 返回最后一個假值。
and :找假值:如果有一個值為假,and 立刻返回第一個假值;如果所有值都為真,and 返回最后一個真值。
2 or 3===2
解:or找真值,其中2為真,直接返回2,后面不用運算,直接出結果,結果為2
2 and 3===3
解:and找假值,其中2、3都為真,則返回最后一個真值,結果為3
2 and 3 and True===True
解:and找假值,其中2、3、True都為真,則返回最后一個真值,結果為True
0 and 3 and 1===1
解:and找假值,其中0位假,則結果返回0
0 and 3 or 1===1
解:先進行and運行,找假值,其中0位假,即0 and 3的結果為0,然后再0 or 1,找真值,其中1為真,最后返回結果為1
0 and 3 or 1 or 4===1
解:先進行and運行,找假值,其中0位假,即0 and 3的結果為0,然后再0 or 1,找真值,其中1為真,最后再進行1 or 4,找真值,其中1為真,最后返回結果為1
0 or False and 1===False
解:先進行0 or False運算,找真值,其中0和False都為假,返回最后一個出現的假值,即返回False,然后在False and 1,找假值,其中False為假值,最后的結果為False
4,編寫小程序,輸入包含若干集合的列表,輸出這些集合的并集和交集。要求使用reduce()完成。
from functools import reduce
a=eval(input("請輸入包含若干集合的列表:"))def intersect(x,y):return x | y
res = reduce(intersect,a)
print("并集為:",str(res))def union(x,y):return x & y
res1 = reduce(union,a)
print("交集為:",str(res1),end="")
效果圖如下:
5,將如下生日歌進行改善:將所有英文字母小寫,去除首尾空格,將俚語替換為書面語。
string1 = ’ haPPy BiRthDAy To u’
string2 = ‘Happy biRthDAy To you’
string3 = ’ haPpy BirThdAy 2 deAr LiLi’
string4 = ’ happy birthday 2 u’
string1 = ' haPPy BiRthDAy To u'
string2 = 'Happy biRthDAy To you'
string3 = ' haPpy BirThdAy 2 deAr LiLi'
string4 = ' happy birthday 2 u'
print(string1.lower().strip().replace("u","you"))
print(string2.lower().strip())
print(string3.lower().strip().replace("2","to"))
print(string4.lower().strip().replace("2","to").replace("u","you"))