值得练手的Python50道练习题及答案_第1页
值得练手的Python50道练习题及答案_第2页
值得练手的Python50道练习题及答案_第3页
值得练手的Python50道练习题及答案_第4页
值得练手的Python50道练习题及答案_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

值得练手的Python50道练习题及答案1.计算两个数的和```python定义两个数num1=5num2=3计算和sum_result=num1+num2print(sum_result)```在这段代码中,我们首先定义了两个变量`num1`和`num2`并赋值,然后使用加法运算符`+`计算它们的和,并将结果存储在`sum_result`变量中,最后使用`print`函数输出结果。2.判断一个数是否为偶数```pythonnum=10ifnum%2==0:print(f"{num}是偶数")else:print(f"{num}是奇数")```这里我们使用取模运算符`%`来判断一个数除以2的余数是否为0,如果为0则是偶数,否则是奇数。3.计算列表中所有元素的和```pythonmy_list=[1,2,3,4,5]list_sum=0fornuminmy_list:list_sum+=numprint(list_sum)```我们初始化一个变量`list_sum`为0,然后使用`for`循环遍历列表中的每个元素,将其累加到`list_sum`中,最后输出总和。4.找出列表中的最大值```pythonnumbers=[12,45,67,23,9]max_num=numbers[0]fornuminnumbers:ifnum>max_num:max_num=numprint(max_num)```首先我们假设列表的第一个元素是最大值,然后遍历列表,如果遇到比当前最大值更大的元素,就更新最大值,最后输出最大值。5.反转字符串```pythonstring="hello"reversed_string=string[::-1]print(reversed_string)```这里使用了字符串的切片操作`[::-1]`,它可以将字符串反转。6.判断一个字符串是否为回文```pythonstring="radar"ifstring==string[::-1]:print(f"{string}是回文")else:print(f"{string}不是回文")```我们将字符串与其反转后的字符串进行比较,如果相等则是回文,否则不是。7.计算阶乘```pythonn=5factorial=1foriinrange(1,n+1):factorial=iprint(factorial)```使用`for`循环从1到`n`,将每个数累乘到`factorial`变量中,得到阶乘结果。8.生成斐波那契数列```pythonn=10fibonacci=[0,1]whilelen(fibonacci)<n:next_num=fibonacci[-1]+fibonacci[-2]fibonacci.append(next_num)print(fibonacci)```我们先初始化斐波那契数列的前两个元素,然后使用`while`循环不断计算下一个元素并添加到列表中,直到列表长度达到`n`。9.去除列表中的重复元素```pythonmy_list=[1,2,2,3,4,4,5]unique_list=list(set(my_list))print(unique_list)```使用`set`函数将列表转换为集合,集合会自动去除重复元素,然后再将集合转换回列表。10.统计字符串中每个字符的出现次数```pythonstring="hello"char_count={}forcharinstring:ifcharinchar_count:char_count[char]+=1else:char_count[char]=1print(char_count)```我们使用字典`char_count`来存储每个字符及其出现次数,遍历字符串,如果字符已经在字典中,则将其计数加1,否则将其添加到字典中并初始计数为1。11.合并两个列表```pythonlist1=[1,2,3]list2=[4,5,6]merged_list=list1+list2print(merged_list)```使用加法运算符`+`可以将两个列表合并。12.对列表进行排序```pythonmy_list=[3,1,4,1,5,9,2,6,5,3,5]sorted_list=sorted(my_list)print(sorted_list)```使用`sorted`函数可以对列表进行排序,返回一个新的排序后的列表。13.计算列表中元素的平均值```pythonnumbers=[1,2,3,4,5]average=sum(numbers)/len(numbers)print(average)```先使用`sum`函数计算列表元素的总和,再除以列表的长度得到平均值。14.找出列表中出现次数最多的元素```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)```首先统计每个元素的出现次数,存储在字典中,然后使用`max`函数和`key`参数找出出现次数最多的元素。15.判断一个数是否为质数```pythonnum=7ifnum>1:foriinrange(2,int(num0.5)+1):ifnum%i==0:print(f"{num}不是质数")breakelse:print(f"{num}是质数")else:print(f"{num}不是质数")```质数是大于1且只能被1和自身整除的数,我们只需要检查从2到该数的平方根之间的数是否能整除它。16.生成指定范围内的所有质数```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)```使用两层循环,外层循环遍历指定范围内的数,内层循环判断该数是否为质数,如果是则添加到`prime_numbers`列表中。17.计算两个日期之间的天数差```pythonfromdatetimeimportdatedate1=date(2023,1,1)date2=date(2023,1,10)delta=date2-date1print(delta.days)```使用`datetime`模块中的`date`类来表示日期,然后相减得到`timedelta`对象,通过`days`属性获取天数差。18.从列表中筛选出偶数```pythonnumbers=[1,2,3,4,5,6]even_numbers=[numfornuminnumbersifnum%2==0]print(even_numbers)```使用列表推导式筛选出列表中的偶数。19.将列表中的元素转换为字符串```pythonmy_list=[1,2,3]string_list=[str(num)fornuminmy_list]print(string_list)```使用列表推导式将列表中的每个元素转换为字符串。20.检查列表是否为空```pythonmy_list=[]ifnotmy_list:print("列表为空")else:print("列表不为空")```通过判断列表是否为假来检查列表是否为空。21.计算字符串中字母的数量```pythonstring="hello123"letter_count=0forcharinstring:ifchar.isalpha():letter_count+=1print(letter_count)```遍历字符串,使用`isalpha`方法判断字符是否为字母,是则计数加1。22.计算字符串中数字的数量```pythonstring="hello123"digit_count=0forcharinstring:ifchar.isdigit():digit_count+=1print(digit_count)```遍历字符串,使用`isdigit`方法判断字符是否为数字,是则计数加1。23.交换两个变量的值```pythona=5b=3a,b=b,aprint(f"a={a},b={b}")```使用Python的多重赋值特性可以方便地交换两个变量的值。24.计算一个数的平方根```pythonimportmathnum=9square_root=math.sqrt(num)print(square_root)```使用`math`模块中的`sqrt`函数计算平方根。25.检查一个列表是否包含另一个列表的所有元素```pythonlist1=[1,2,3]list2=[1,2]ifset(list2).issubset(set(list1)):print("list2包含在list1中")else:print("list2不包含在list1中")```将列表转换为集合,使用`issubset`方法检查一个集合是否是另一个集合的子集。26.计算列表中所有偶数的和```pythonnumbers=[1,2,3,4,5,6]even_sum=sum([numfornuminnumbersifnum%2==0])print(even_sum)```使用列表推导式筛选出偶数,再使用`sum`函数计算它们的和。27.从字符串中提取数字```pythonstring="abc123def"numbers=''.join(filter(str.isdigit,string))print(numbers)```使用`filter`函数和`str.isdigit`方法提取字符串中的数字。28.计算一个数的各位数字之和```pythonnum=123digit_sum=sum(int(digit)fordigitinstr(num))print(digit_sum)```将数字转换为字符串,遍历每个字符并转换为整数后求和。29.检查一个字符串是否只包含字母```pythonstring="hello"ifstring.isalpha():print(f"{string}只包含字母")else:print(f"{string}不只包含字母")```使用`isalpha`方法检查字符串是否只包含字母。30.检查一个字符串是否只包含数字```pythonstring="123"ifstring.isdigit():print(f"{string}只包含数字")else:print(f"{string}不只包含数字")```使用`isdigit`方法检查字符串是否只包含数字。31.计算列表中奇数的平均值```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("列表中没有奇数")```先筛选出奇数,再计算它们的平均值。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("列表中没有第二大的元素")```先去除列表中的重复元素,排序后取倒数第二个元素。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.检查一个字符串是否是另一个字符串的子串```pythonstring="helloworld"sub_string="world"ifsub_stringinstring:print(f"{sub_string}是{string}的子串")else:print(f"{sub_string}不是{string}的子串")```使用`in`运算符检查一个字符串是否是另一个字符串的子串。36.计算两个列表的交集```pythonlist1=[1,2,3]list2=[2,3,4]intersection=list(set(list1)&set(list2))print(intersection)```将列表转换为集合,使用`&`运算符计算交集,再转换回列表。37.计算两个列表的并集```pythonlist1=[1,2,3]list2=[2,3,4]union=list(set(list1)|set(list2))print(union)```将列表转换为集合,使用`|`运算符计算并集,再转换回列表。38.计算两个列表的差集```pythonlist1=[1,2,3]list2=[2,3,4]difference=list(set(list1)-set(list2))print(difference)```将列表转换为集合,使用`-`运算符计算差集,再转换回列表。39.反转列表```pythonmy_list=[1,2,3]reversed_list=my_list[::-1]print(reversed_list)```使用切片操作`[::-1]`反转列表。40.计算列表中相邻元素的差值```pythonmy_list=[1,3,6,10]differences=[my_list[i+1]-my_list[i]foriinrange(len(my_list)-1)]print(differences)```使用列表推导式计算相邻元素的差值。41.检查一个列表是否是升序排列```pythonmy_list=[1,2,3]ifmy_list==sorted(my_list):print("列表是升序排列")else:print("列表不是升序排列")```将列表与排序后的列表进行比较。42.检查一个列表是否是降序排列```pythonmy_list=[3,2,1]ifmy_list==sorted(my_list,reverse=True):print("列表是降序排列")else:print("列表不是降序排列")```将列表与降序排序后的列表进行比较。43.统计列表中负数的个数```pythonmy_list=[-1,2,-3,4,-5]negative_count=sum(1fornuminmy_listifnum<0)print(negative_count)```使用生成器表达式和`sum`函数统计负数的个数。44.计算列表中正数的乘积```pythonmy_list=[-1,2,3,4,-5]positive_product=1fornuminmy_list:ifnum>0:positive_product=numprint(positive_product)```遍历列表,将正数累乘。45.从列表中删除所有偶数```pythonmy_list=[1,2,3,4,5]my_list=[numfornuminmy_listifnum%2!=0]print(my_list)```使用列表推导式筛选出奇数。46.检查两个字符串是否是变位词(字母相同但顺序不同)```pythonstring1="liste

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论