A. python習題求解
#-*-encoding:utf-8-*-
classBox:
count=0
def__init__(self,length,width,height):
self.length=length
self.width=width
self.height=height
Box.count=Box.count+1
defoutput(self):
self.__v=self.length*self.width*self.height
print"length:"+str(self.length)
print"width:"+str(self.width)
print"height:"+str(self.height)
print"V:"+str(self.__v)
print"runtimes:"+str(Box.count)
b1=Box(1,2,3)
b1.output()
b2=Box(2,3,4)
b2.output()
b3=Box(3,4,5)
b3.output()
b4=Box(4,5,6)
b4.output()
b5=Box(6,7,8)
b5.output()
實例變數:width,height,length
類變數:count
私有變數:self.__v
B. Python題
# 2021-05-13 Luke
ls = []
while True:
x = input("請輸入成績(輸入完請按q退出):")
if x == 'q':
break
else:
ls.append(int(x))
ls.sort(reverse=True)
n = 0
for i in ls:
n = n + i
sum_ = n / len(ls)
print("第一名分數是:" + str(ls[0]) + " 第二名分數是:" +
str(ls[1]) + " 第三名分數是:" + str(ls[2]) + " 平均成績是:" + str(sum_))
C. python練習題
#-*-coding:utf-8-*-
defGuess(word):
print'==============================='
print'Wordsofar:%s'%('*'*len(word))
foriinrange(len(word)):
whileTrue:
j=raw_input('Takeguessnumber%d: '%(i+1))
ifj==word[i]:
print'Gotit!'
print'Wordsofar:%s'%(word[:i+1]+'*'*(len(word)-i-1))
break
else:
print'Sorry!'
print'Wordsofar:%s'%(word[:i]+'*'*(len(word)-i))
defmain():
whileTrue:
word=raw_input('Enterthesecretword(allinlowercase): ')
Guess(word)
print'Congratulations.Youcorrectlyguessedtheword:%s'%word
choise=raw_input('Doyouwanttoplayonemoretime?y/n? ')
ifchoise=='n':
print'ExitNow...'
break
if__name__=='__main__':
main()
>>
Enter the secret word (all in lowercase):
hi
===============================
Word so far:**
Take guess number 1:
a
Sorry!
Word so far:**
Take guess number 1:
h
Got it!
Word so far:h*
Take guess number 2:
i
Got it!
Word so far:hi
Congratulations. You correctly guessed the word: hi
Do you want to play one more time? y/n?
n
Exit Now...
D. 幾個Python題目
1.【選擇】下面哪個選項不是定義列表的正確方式?(D)
D.myList4=2,3,4,5
答案解析:這是定義元組的方式,而不是列表
2.【選擇】根據下面表達式,a的值是:(C)
C.loWo
3.【填空】請寫出如何切片myList[]的倒數第3~5位。
myList[-3:-5]
4.【判斷】列表內元素的下標是從0開始的。(√)
5.【選擇】下列Python表達式可以將列表反向並改變原列表值的是:(D)
D.myList.reverse()
答案解析:切片會生成新的列表;reversed只是生成新的迭代器;只有list.reverse()會對原表的值進行改變
-----------
1.【判斷】Python語句「x="a","b","c"」中,x是一個元組。(√)
2.【選擇】執行下列Python語句會報錯的是:(A)
A.myTuple[3]=30
答案解析:元組是immutable(不可變)的,所以不能改變元組的值
3.【填空】使用Python內置函數,計算元組myTuple的語句是:
sum(myTuple)
4.【選擇】下列關於Python的描述錯誤的是:(C)
C.對元組內部元素進行排序使用的是sort()
答案解析:元組不可變,所以不能對元素進行排序
------------
1.【選擇】下列關於Python中字元串說法錯誤的是:(D)
D.Python中字元類型是char,字元串的類型是str
答案解析:python字元和字元串類型都是str
3.【填空】請寫出用空格「」合並字元串「Jane」、「Doe」的Python語句:
"Jane"+""+"Doe"
4.【選擇】下列不是Python3中解決路徑中特殊字元問題的選項是:(C)
C.s=u"D: est"
------------
1.【選擇】下列不是序列的是:(C)
C.集合
3.【選擇】下面哪些操作是序列都具有的?(D)
D.以上都是
-----
1.【判斷】Python中符號{}僅用在集合這一數據類型中。(B.×)
3.【填空】語句set("datascience")的結果是:
集合{'d','a','t','s','c','i','e','n'}
4.【選擇】下列關於集合的說法錯誤的是:(A)
A.集合具有互異性,定義集合時不允許出現相同的元素
答案解析:出現了重復也沒事,會自動去重的。
7.【選擇】在Python中對數據進行去重處理,一般會藉助下列哪種數據類型?(C)
C.集合
---------
1.【填空】有兩個列表a=["name","age","sex"],b=["jonh","23","M"],請用一個語句將這兩個列表轉換成字典,其中列表a中的元素為「鍵」,列表b中的元素為「值」。
dict(zip(a,b))
2.【填空】定義一個新字典如下,用print輸出dict1的結果是:
{1:3,2:'a'}
4.【判斷】下面對字典d的定義是正確的。(B.×)
答案解析:列表不能用做鍵。應該用元組('a','b')做鍵。
E. Python簡單習題
在python中,使用大括弧包裹的元素,並且不是以鍵值對形式出現,這個就是集合。集合(set)是一個無序的不重復元素序列,只要集合元素一樣,不論順序,它們都是相等的
1、測試源碼
a = {1, 3, 2}
b = {1, 2, 3}
if a > b:
print('a大於b')
elif a == b:
print('a等於b')
else:
print('a小於b')
2、測試結果
a等於b
即表達式{1,3,2} > {1,2,3}的結果應是False
F. Python習題
這里輸出['B','C','D','E','F','G','H'] 這類字元,用list(str)會簡單很多,所以每次要從第i位開始截斷字元串。
l = "ABCDEFGH"
for i in range(len(l)):
...: print(l[i], list(l[i+1:]))
見如下:
G. python習題(演算法)
這個就是循環2n次呀。先是讓x=x+c,在把c更新一下c=c+b,最後讓b=b+a,這就完成一次循環了。
不過你給的程序不完整。
H. Python習題(急!!!)
#-*-coding:utf-8-*-
N={0:'零',1:'壹',2:'貳',3:'叄',4:'肆',5:'伍',6:'陸',7:'柒',8:'捌',9:'玖'}
M=['億','仟','佰','拾','萬','仟','佰','拾','元']
H=['角','分']
classPrint:
def__init__(self,a,a1,a2,N):
self.a=a
self.a1=a1
self.a2=a2
self.N=N
defInt(self,M,S=''):
self.M=M
self.S=''
iflen(str(self.a1))>10:
print('輸入的金額超限(超出長度)')
else:
b=abs(int(self.a1))
New=[]
forstinstr(b):
ifint(st)inself.N.keys():
New.append(self.N[int(st)])
L=self.M[-len(New):]
for(x,y)inzip(New,L):
self.S+=x+y
returnself.S
defFloat(self,H,S1=''):
self.H=H
self.S1=''
a3=int(100*self.a2)
New1=[]
forst1instr(a3):
ifint(st1)inself.N.keys():
New1.append(self.N[int(st1)])
L1=H[-len(New1):]
for(x,y)inzip(New1,L1):
self.S1+=x+y
returnself.S1if__name__=="__main__":
whileTrue:
a=float(input('請輸入金額(不超過10億元):'))
a1=int(a)
a2=round((a-a1),2)
P=Print(a,a1,a2,N)
ifa2==0.0:
P.Int(M)
print(P.S+'0角0分')
break
else:
P.Float(H)
print(P.Int(M)+P.S1)
break
I. python題
def sumfactor(n):
sum=0
for i in range(1,n):
if n%i==0:
sum+=i
return sum
for i in range(1,1001):
if i==sumfactor(i):
print(i,end=' ')
print()
print()
a=[]
for i in range(1,3001):
if i==sumfactor(sumfactor(i)) and i!=sumfactor(i):
if not((sumfactor(i),i)in a):
a.append((i,sumfactor(i)))
for i in a:
print(i,end=' ')