Python 练习100题---No.(41-60)---附其他题目解答链接
原标题:Python 练习100题---No.(41-60)---附其他题目解答链接
原文来自:CSDN 原文链接:https://blog.csdn.net/weixin_41744624/article/details/103575741
github展示python100题
链接如下:
https://github.com/zhiwehu/Python-programming-exercises/blob/master/100%2B%20Python%20challenging%20programming%20exercises.txt
以下为博主翻译后题目及解答,答案代码分为两个,第一条为博主个人解答(Python3),第二条为题目所提供答案(Python2)
………………………………………………………………………………
题目1-20链接:https://blog.csdn.net/weixin_41744624/article/details/103426225;
题目21-40链接:https://blog.csdn.net/weixin_41744624/article/details/103511139
本部分为题目41-60,等级难度1-3随机顺序;
题目61-80链接:
https://blog.csdn.net/weixin_41744624/article/details/103607992
题目81-98链接:https://blog.csdn.net/weixin_41744624/article/details/103646520
经检测题库去除重复只有98题啦(欢迎评论添加好题目)~
………………………………………………………………………………
41、问题:
对于给定的元组(1,2,3,4,5,6,7,8,9,10),编写一个程序,在一行中打印前半个值,在一行中打印后半个值
ls = [] for i in range(1,11): ls.append (i) ls2 = [] ls3 = [] for i in ls: if i in range(0,int(round((len(ls)/2),0)+1)): ls2.append(i) if i in range(int(round((len(ls)/2),0)+1),len(ls)+1): ls3.append(i) print (tuple(ls2)) print (tuple(ls3))
tp=(1,2,3,4,5,6,7,8,9,10) tp1=tp[:5] tp2=tp[5:] print tp1 print tp2
42、问题:
编写一个程序生成并打印另一个元组,其值是给定元组中的偶数(1,2,3,4,5,6,7,8,9,10)
ls = []for i in range(1,11): ls.append (i)ls2 = [] for i in ls: if (int(i)%2 == 0): ls2.append(i) print (ls2)
tp=(1,2,3,4,5,6,7,8,9,10) li=list() for i in tp: if tp[i]%2==0: li.append(tp[i]) tp2=tuple(li) print tp2
43、问题:
编写一个接受字符串作为输入的程序,如果字符串是“yes”或“YES”或“Yes”,则打印“Yes”,否则打印“No”
ls = input("please input:").split(",") for i in ls: if (i == "YES"): print ("Yes") elif (i == "Yes"): print ("Yes") elif (i == "yes"): print ("Yes") else: print ("No")
s= raw_input()if s=="yes" or s=="YES" or s=="Yes": print "Yes"else: print "No"
44、问题:
用filter函数编写一个可以过滤列表中偶数的程序。名单是:[1,2,3,4,5,6,7,8,9,10]。
def is_odd(n): return n % 2 == 1 newlist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) print (newlist)
li = [1,2,3,4,5,6,7,8,9,10] evenNumbers = filter(lambda x: x%2==0, li) print evenNumbers
45、问题:
编写一个程序,它可以map()以生成一个列表,该列表的元素是[1,2,3,4,5,6,7,8,9,10]中元素的平方。
def square(x): return x**2a=map(square, [1,2,3,4,5,6,7,8,9,10]) ls = [] for i in a: ls.append(i) print (ls)
li = [1,2,3,4,5,6,7,8,9,10] squaredNumbers = map(lambda x: x**2, li) print squaredNumbers
46、问题:
编写一个可以map()和filter()的程序,生成一个元素为[1,2,3,4,5,6,7,8,9,10]中偶数平方的列表。
def is_not_odd(n): return n%2 == 0 def square(x): return x**2a=map(square,filter(is_not_odd,[1,2,3,4,5,6,7,8,9,10])) ls = []for i in a: ls.append(i) print (ls)
li = [1,2,3,4,5,6,7,8,9,10] evenNumbers = map(lambda x: x**2, filter(lambda x: x%2==0, li)) print evenNumbers
47、问题:
编写一个可以filter()的程序,生成一个元素为1到20(都包括在内)之间的偶数的列表
def is_not_odd(n): return n % 2 == 0 ls = [] for i in range(1,21): ls.append(i) newlist = filter(is_not_odd, ls) ls2 = [] for i in newlist: ls2.append(i) print (ls2)
evenNumbers = filter(lambda x: x%2==0, range(1,21)) print evenNumbers
48、问题:
编写一个程序,它可以map()来生成一个元素为1到20之间的数字平方的列表(两者都包括在内)。
def square(x): return x**2ls = [] for i in range(1,21): ls.append(i) newlist = map(square, ls) ls2 = [] for i in newlist: ls2.append(i) print (ls2)
squaredNumbers = map(lambda x: x**2, range(1,21)) print squaredNumbers
49、问题:
定义一个名为American的类,该类有一个名为printNational的静态方法。
class american(): def printnational(self): print ("shawanyi") a = american() a.printnational()
class American(object): @staticmethod def printNationality(): print "America"anAmerican = American() anAmerican.printNationality() American.printNationality()
50、问题:
定义一个名为American的类及其子类NewYorker。
class american(): def printnational(self): print ("shawanyi") class newyorker(american): def ga(self): print ("youshisha") a = american() b = newyorker() a.printnational() b.ga()
class American(object): passclass NewYorker(American): passanAmerican = American() aNewYorker = NewYorker() print anAmericanprint aNewYorker
51、问题:
定义一个名为Circle的类,该类可以由半径构造。这个类有一个计算面积的方法。
import mathclass circle(): def S(self,r): return math.pi*int(r)**2r=input("please input r:") a=circle() print (a.S(r))
class Circle(object): def __init__(self, r): self.radius = r def area(self): return self.radius**2*3.14a Circle = Circle(2) print aCircle.area()
52、问题:
定义一个名为Rectangle的类,该类可以由长度和宽度构造。矩形类有一个计算面积的方法
class Rectangle(object): def L(self): self.length=input("please input length:") def W(self): self.width=input("please input width:") def A(self): return int(self.length)*int(self.width) a=Rectangle() a.L() a.W() a.A() print (a.A())
class Rectangle(object): def __init__(self, l, w): self.length = l self.width = w def area(self): return self.length*self.width aRectangle = Rectangle(2,10) print aRectangle.area()
53、问题:
定义一个名为Shape的类及其子类Square。Square类有一个init函数,它以长度作为参数。两个类都有一个area函数,该函数可以打印默认情况下形状区域为0的形状区域。
class shape(): def init(self): pass def area(self): print ("0") class Square(shape): def init(self): self.length=input("input length:") def area(self): return int(self.length)*int(self.length) a=shape() b=Square() a.init() a.area() b.init() print(b.area())
class Shape(object): def __init__(self): pass def area(self): return 0class Square(Shape): def __init__(self, l): Shape.__init__(self) self.length = l def area(self): return self.length*self.length aSquare= Square(3)print aSquare.area()
54、问题:
请引发运行时错误异常。
raise RuntimeError('something wrong')
55、问题:
编写一个计算5/0的函数,并使用try/except捕捉异常。
try: def function(): return 5/0 print (function()) except ZeroDivisionError: print("division by zero")finally: print ("无论对错都执行finally")
def throws(): return 5/0try: throws()except ZeroDivisionError: print "division by zero!"except Exception, err: print 'Caught an exception'finally: print 'In finally block for cleanup'
56、问题:
定义一个以字符串消息为属性的自定义异常类。
(要定义自定义异常,我们需要定义从异常继承的类。)
(暂未看懂什么意思)
class MyError(Exception): """My own exception class Attributes: msg -- explanation of the error """ def __init__(self, msg): self.msg = msg error = MyError("something wrong")
57、问题:
假设我们有一些“user name@companyname.com”格式的电子邮件地址,请编写程序打印给定电子邮件地址的用户名。用户名和公司名称都只由字母组成。
例子:
如果以下电子邮件地址作为程序的输入:
john@google.com
那么,程序的输出应该是:
john
如果向问题提供了输入数据,则应假定它是控制台输入。
ls = input("input email:") ls2 = []for i in ls: if i.isalpha(): ls2.append(i) else: breakprint (ls2)
import re emailAddress = raw_input() pat2 = "(w+)@((w+.)+(com))" r2 = re.match(pat2,emailAddress) print r2.group(1)
58、问题:
假设我们有一些“username@company name.com”格式的电子邮件地址,请编写程序打印给定电子邮件地址的公司名称。用户名和公司名称都只由字母组成。
例子:
如果以下电子邮件地址作为程序的输入:
john@google.com
那么,程序的输出应该是:
google
如果向问题提供了输入数据,则应假定它是控制台输入。
import re ls = input("input email:") a = "(w+)@(w+).(com)" b = re.match(a,ls) print (b.group(2))
import re emailAddress = raw_input() pat2 = "(w+)@(w+).(com)" r2 = re.match(pat2,emailAddress) print r2.group(2)
59、问题:
编写一个程序,它接受由空格分隔的一系列单词作为输入,只打印由数字组成的单词。
例子:
如果下列单词作为程序的输入:
2 cats and 3 dogs.
那么,程序的输出应该是:
[‘2’,‘3’]
如果向问题提供了输入数据,则应假定它是控制台输入。
ls = input("please input:").split(" ") ls2 = []for i in ls: if i.isdigit(): ls2.append(i) else: passprint (ls2)
import re s = raw_input() print re.findall("d+",s)
60、问题:
打印unicode字符串“hello world”。
(u“ ” unicode编码字符)
unicodeString = u"hello world!" print unicodeString
免责声明:本文来自互联网新闻客户端自媒体,不代表本网的观点和立场。
合作及投稿邮箱:E-mail:editor@tusaishared.com
热门资源
Python 爬虫(二)...
所谓爬虫就是模拟客户端发送网络请求,获取网络响...
TensorFlow从1到2...
原文第四篇中,我们介绍了官方的入门案例MNIST,功...
TensorFlow从1到2...
“回归”这个词,既是Regression算法的名称,也代表...
TensorFlow2.0(10...
前面的博客中我们说过,在加载数据和预处理数据时...
机器学习中的熵、...
熵 (entropy) 这一词最初来源于热力学。1948年,克...
智能在线
400-630-6780
聆听.建议反馈
E-mail: support@tusaishared.com