值得練手的Python50道練習(xí)題及答案_第1頁
值得練手的Python50道練習(xí)題及答案_第2頁
值得練手的Python50道練習(xí)題及答案_第3頁
值得練手的Python50道練習(xí)題及答案_第4頁
值得練手的Python50道練習(xí)題及答案_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

值得練手的Python50道練習(xí)題及答案1.計(jì)算兩個(gè)數(shù)的和```python定義兩個(gè)數(shù)num1=5num2=3計(jì)算和sum_result=num1+num2print(sum_result)```在這段代碼中,我們首先定義了兩個(gè)變量`num1`和`num2`并賦值,然后使用加法運(yùn)算符`+`計(jì)算它們的和,并將結(jié)果存儲在`sum_result`變量中,最后使用`print`函數(shù)輸出結(jié)果。2.判斷一個(gè)數(shù)是否為偶數(shù)```pythonnum=10ifnum%2==0:print(f"{num}是偶數(shù)")else:print(f"{num}是奇數(shù)")```這里我們使用取模運(yùn)算符`%`來判斷一個(gè)數(shù)除以2的余數(shù)是否為0,如果為0則是偶數(shù),否則是奇數(shù)。3.計(jì)算列表中所有元素的和```pythonmy_list=[1,2,3,4,5]list_sum=0fornuminmy_list:list_sum+=numprint(list_sum)```我們初始化一個(gè)變量`list_sum`為0,然后使用`for`循環(huán)遍歷列表中的每個(gè)元素,將其累加到`list_sum`中,最后輸出總和。4.找出列表中的最大值```pythonnumbers=[12,45,67,23,9]max_num=numbers[0]fornuminnumbers:ifnum>max_num:max_num=numprint(max_num)```首先我們假設(shè)列表的第一個(gè)元素是最大值,然后遍歷列表,如果遇到比當(dāng)前最大值更大的元素,就更新最大值,最后輸出最大值。5.反轉(zhuǎn)字符串```pythonstring="hello"reversed_string=string[::-1]print(reversed_string)```這里使用了字符串的切片操作`[::-1]`,它可以將字符串反轉(zhuǎn)。6.判斷一個(gè)字符串是否為回文```pythonstring="radar"ifstring==string[::-1]:print(f"{string}是回文")else:print(f"{string}不是回文")```我們將字符串與其反轉(zhuǎn)后的字符串進(jìn)行比較,如果相等則是回文,否則不是。7.計(jì)算階乘```pythonn=5factorial=1foriinrange(1,n+1):factorial=iprint(factorial)```使用`for`循環(huán)從1到`n`,將每個(gè)數(shù)累乘到`factorial`變量中,得到階乘結(jié)果。8.生成斐波那契數(shù)列```pythonn=10fibonacci=[0,1]whilelen(fibonacci)<n:next_num=fibonacci[-1]+fibonacci[-2]fibonacci.append(next_num)print(fibonacci)```我們先初始化斐波那契數(shù)列的前兩個(gè)元素,然后使用`while`循環(huán)不斷計(jì)算下一個(gè)元素并添加到列表中,直到列表長度達(dá)到`n`。9.去除列表中的重復(fù)元素```pythonmy_list=[1,2,2,3,4,4,5]unique_list=list(set(my_list))print(unique_list)```使用`set`函數(shù)將列表轉(zhuǎn)換為集合,集合會(huì)自動(dòng)去除重復(fù)元素,然后再將集合轉(zhuǎn)換回列表。10.統(tǒng)計(jì)字符串中每個(gè)字符的出現(xiàn)次數(shù)```pythonstring="hello"char_count={}forcharinstring:ifcharinchar_count:char_count[char]+=1else:char_count[char]=1print(char_count)```我們使用字典`char_count`來存儲每個(gè)字符及其出現(xiàn)次數(shù),遍歷字符串,如果字符已經(jīng)在字典中,則將其計(jì)數(shù)加1,否則將其添加到字典中并初始計(jì)數(shù)為1。11.合并兩個(gè)列表```pythonlist1=[1,2,3]list2=[4,5,6]merged_list=list1+list2print(merged_list)```使用加法運(yùn)算符`+`可以將兩個(gè)列表合并。12.對列表進(jìn)行排序```pythonmy_list=[3,1,4,1,5,9,2,6,5,3,5]sorted_list=sorted(my_list)print(sorted_list)```使用`sorted`函數(shù)可以對列表進(jìn)行排序,返回一個(gè)新的排序后的列表。13.計(jì)算列表中元素的平均值```pythonnumbers=[1,2,3,4,5]average=sum(numbers)/len(numbers)print(average)```先使用`sum`函數(shù)計(jì)算列表元素的總和,再除以列表的長度得到平均值。14.找出列表中出現(xiàn)次數(shù)最多的元素```pythonmy_list=[1,2,2,3,3,3]count_dict={}fornuminmy_list:ifnumincount_dict:count_dict[num]+=1else:count_dict[num]=1most_common=max(count_dict,key=count_dict.get)print(most_common)```首先統(tǒng)計(jì)每個(gè)元素的出現(xiàn)次數(shù),存儲在字典中,然后使用`max`函數(shù)和`key`參數(shù)找出出現(xiàn)次數(shù)最多的元素。15.判斷一個(gè)數(shù)是否為質(zhì)數(shù)```pythonnum=7ifnum>1:foriinrange(2,int(num0.5)+1):ifnum%i==0:print(f"{num}不是質(zhì)數(shù)")breakelse:print(f"{num}是質(zhì)數(shù)")else:print(f"{num}不是質(zhì)數(shù)")```質(zhì)數(shù)是大于1且只能被1和自身整除的數(shù),我們只需要檢查從2到該數(shù)的平方根之間的數(shù)是否能整除它。16.生成指定范圍內(nèi)的所有質(zhì)數(shù)```pythonstart=2end=20prime_numbers=[]fornuminrange(start,end+1):ifnum>1:foriinrange(2,int(num0.5)+1):ifnum%i==0:breakelse:prime_numbers.append(num)print(prime_numbers)```使用兩層循環(huán),外層循環(huán)遍歷指定范圍內(nèi)的數(shù),內(nèi)層循環(huán)判斷該數(shù)是否為質(zhì)數(shù),如果是則添加到`prime_numbers`列表中。17.計(jì)算兩個(gè)日期之間的天數(shù)差```pythonfromdatetimeimportdatedate1=date(2023,1,1)date2=date(2023,1,10)delta=date2-date1print(delta.days)```使用`datetime`模塊中的`date`類來表示日期,然后相減得到`timedelta`對象,通過`days`屬性獲取天數(shù)差。18.從列表中篩選出偶數(shù)```pythonnumbers=[1,2,3,4,5,6]even_numbers=[numfornuminnumbersifnum%2==0]print(even_numbers)```使用列表推導(dǎo)式篩選出列表中的偶數(shù)。19.將列表中的元素轉(zhuǎn)換為字符串```pythonmy_list=[1,2,3]string_list=[str(num)fornuminmy_list]print(string_list)```使用列表推導(dǎo)式將列表中的每個(gè)元素轉(zhuǎn)換為字符串。20.檢查列表是否為空```pythonmy_list=[]ifnotmy_list:print("列表為空")else:print("列表不為空")```通過判斷列表是否為假來檢查列表是否為空。21.計(jì)算字符串中字母的數(shù)量```pythonstring="hello123"letter_count=0forcharinstring:ifchar.isalpha():letter_count+=1print(letter_count)```遍歷字符串,使用`isalpha`方法判斷字符是否為字母,是則計(jì)數(shù)加1。22.計(jì)算字符串中數(shù)字的數(shù)量```pythonstring="hello123"digit_count=0forcharinstring:ifchar.isdigit():digit_count+=1print(digit_count)```遍歷字符串,使用`isdigit`方法判斷字符是否為數(shù)字,是則計(jì)數(shù)加1。23.交換兩個(gè)變量的值```pythona=5b=3a,b=b,aprint(f"a={a},b=")```使用Python的多重賦值特性可以方便地交換兩個(gè)變量的值。24.計(jì)算一個(gè)數(shù)的平方根```pythonimportmathnum=9square_root=math.sqrt(num)print(square_root)```使用`math`模塊中的`sqrt`函數(shù)計(jì)算平方根。25.檢查一個(gè)列表是否包含另一個(gè)列表的所有元素```pythonlist1=[1,2,3]list2=[1,2]ifset(list2).issubset(set(list1)):print("list2包含在list1中")else:print("list2不包含在list1中")```將列表轉(zhuǎn)換為集合,使用`issubset`方法檢查一個(gè)集合是否是另一個(gè)集合的子集。26.計(jì)算列表中所有偶數(shù)的和```pythonnumbers=[1,2,3,4,5,6]even_sum=sum([numfornuminnumbersifnum%2==0])print(even_sum)```使用列表推導(dǎo)式篩選出偶數(shù),再使用`sum`函數(shù)計(jì)算它們的和。27.從字符串中提取數(shù)字```pythonstring="abc123def"numbers=''.join(filter(str.isdigit,string))print(numbers)```使用`filter`函數(shù)和`str.isdigit`方法提取字符串中的數(shù)字。28.計(jì)算一個(gè)數(shù)的各位數(shù)字之和```pythonnum=123digit_sum=sum(int(digit)fordigitinstr(num))print(digit_sum)```將數(shù)字轉(zhuǎn)換為字符串,遍歷每個(gè)字符并轉(zhuǎn)換為整數(shù)后求和。29.檢查一個(gè)字符串是否只包含字母```pythonstring="hello"ifstring.isalpha():print(f"{string}只包含字母")else:print(f"{string}不只包含字母")```使用`isalpha`方法檢查字符串是否只包含字母。30.檢查一個(gè)字符串是否只包含數(shù)字```pythonstring="123"ifstring.isdigit():print(f"{string}只包含數(shù)字")else:print(f"{string}不只包含數(shù)字")```使用`isdigit`方法檢查字符串是否只包含數(shù)字。31.計(jì)算列表中奇數(shù)的平均值```pythonnumbers=[1,2,3,4,5]odd_numbers=[numfornuminnumbersifnum%2!=0]ifodd_numbers:odd_average=sum(odd_numbers)/len(odd_numbers)print(odd_average)else:print("列表中沒有奇數(shù)")```先篩選出奇數(shù),再計(jì)算它們的平均值。32.找出列表中第二大的元素```pythonmy_list=[1,2,3,4,5]unique_list=list(set(my_list))unique_list.sort()iflen(unique_list)>1:second_largest=unique_list[-2]print(second_largest)else:print("列表中沒有第二大的元素")```先去除列表中的重復(fù)元素,排序后取倒數(shù)第二個(gè)元素。33.將字符串按空格分割成列表```pythonstring="helloworld"word_list=string.split()print(word_list)```使用`split`方法按空格分割字符串。34.將列表中的元素用逗號連接成字符串```pythonmy_list=["apple","banana","cherry"]joined_string=','.join(my_list)print(joined_string)```使用`join`方法將列表元素連接成字符串。35.檢查一個(gè)字符串是否是另一個(gè)字符串的子串```pythonstring="helloworld"sub_string="world"ifsub_stringinstring:print(f"{sub_string}是{string}的子串")else:print(f"{sub_string}不是{string}的子串")```使用`in`運(yùn)算符檢查一個(gè)字符串是否是另一個(gè)字符串的子串。36.計(jì)算兩個(gè)列表的交集```pythonlist1=[1,2,3]list2=[2,3,4]intersection=list(set(list1)&set(list2))print(intersection)```將列表轉(zhuǎn)換為集合,使用`&`運(yùn)算符計(jì)算交集,再轉(zhuǎn)換回列表。37.計(jì)算兩個(gè)列表的并集```pythonlist1=[1,2,3]list2=[2,3,4]union=list(set(list1)|set(list2))print(union)```將列表轉(zhuǎn)換為集合,使用`|`運(yùn)算符計(jì)算并集,再轉(zhuǎn)換回列表。38.計(jì)算兩個(gè)列表的差集```pythonlist1=[1,2,3]list2=[2,3,4]difference=list(set(list1)-set(list2))print(difference)```將列表轉(zhuǎn)換為集合,使用`-`運(yùn)算符計(jì)算差集,再轉(zhuǎn)換回列表。39.反轉(zhuǎn)列表```pythonmy_list=[1,2,3]reversed_list=my_list[::-1]print(reversed_list)```使用切片操作`[::-1]`反轉(zhuǎn)列表。40.計(jì)算列表中相鄰元素的差值```pythonmy_list=[1,3,6,10]differences=[my_list[i+1]-my_list[i]foriinrange(len(my_list)-1)]print(differences)```使用列表推導(dǎo)式計(jì)算相鄰元素的差值。41.檢查一個(gè)列表是否是升序排列```pythonmy_list=[1,2,3]ifmy_list==sorted(my_list):print("列表是升序排列")else:print("列表不是升序排列")```將列表與排序后的列表進(jìn)行比較。42.檢查一個(gè)列表是否是降序排列```pythonmy_list=[3,2,1]ifmy_list==sorted(my_list,reverse=True):print("列表是降序排列")else:print("列表不是降序排列")```將列表與降序排序后的列表進(jìn)行比較。43.統(tǒng)計(jì)列表中負(fù)數(shù)的個(gè)數(shù)```pythonmy_list=[-1,2,-3,4,-5]negative_count=sum(1fornuminmy_listifnum<0)print(negative_count)```使用生成器表達(dá)式和`sum`函數(shù)統(tǒng)計(jì)負(fù)數(shù)的個(gè)數(shù)。44.計(jì)算列表中正數(shù)的乘積```pythonmy_list=[-1,2,3,4,-5]positive_product=1fornuminmy_list:ifnum>0:positive_product=numprint(positive_product)```遍歷列表,將正數(shù)累乘。45.從列表中刪除所有偶數(shù)```pythonmy_list=[1,2,3,4,5]my_list=[numfornuminmy_listifnum%2!=0]print(my_list)```使用列表推導(dǎo)式篩選出奇數(shù)。46.檢查兩個(gè)字符串是否是變位詞(字母相同但順序不同)```pythonstring1="liste

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論