资源经验分享Python 练习100题---No.(21-40)---附其他题目解答链接

Python 练习100题---No.(21-40)---附其他题目解答链接

2019-12-23 | |  67 |   0

原标题:Python 练习100题---No.(21-40)---附其他题目解答链接

原文来自:CSDN      原文链接:https://blog.csdn.net/weixin_41744624/article/details/103511139


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,等级难度1-3不定顺序(建议倒序食用);
题目41-60链接:https://blog.csdn.net/weixin_41744624/article/details/103575741
题目61-80链接:
https://blog.csdn.net/weixin_41744624/article/details/103607992
题目81-98链接:https://blog.csdn.net/weixin_41744624/article/details/103646520

经检测题库去除重复只有98题啦(欢迎评论添加好题目)~
………………………………………………………………………………
21、问题:
机器人从原点(0,0)开始在平面内移动。机器人可以向上、下、左、右移动,只要给定步数。机器人运动轨迹如下:
UP 5
DOWN 3
LEFT 3
RIGHT 2
¡­
方向后面的数字是步数。请写一个程序,计算出一系列运动和原点后距离当前位置的距离。如果距离是浮点数,则只打印最接近的整数。

例子:

如果将下列元组作为程序的输入:
UP 5
DOWN 3
LEFT 3
RIGHT 2
¡­
那么,程序的输出应该是:
2

ls = []
while True:
    n=input("please input:")
    if not n:
        break
    ls.append(tuple(n.split(' ')))
x=0
y=0
for j in ls:
    i = list(j)
    if i[0] == "UP":
        y +=int(i[1]) 
    elif i[0] == "DOWN":
        y +=-int(i[1]) 
    elif i[0] == "LEFT":
        x +=-int(i[1]) 
    elif i[0] == "RIGHT":
        x +=int(i[1])
    else:
        print ("wrong input!")
z=round((x**2+y**2)**1/2,0)
print (z)
import math
pos = [0,0]
while True:
    s = raw_input()
    if not s:
        break
    movement = s.split(" ")
    direction = movement[0]
    steps = int(movement[1])
    if direction=="UP":
        pos[0]+=steps
    elif direction=="DOWN":
        pos[0]-=steps
    elif direction=="LEFT":
        pos[1]-=steps
    elif direction=="RIGHT":
        pos[1]+=steps
    else:
        pass

print int(round(math.sqrt(pos[1]**2+pos[0]**2)))

22、问题:
写一个程序从输入中计算单词的频率。输出应该在按字母数字顺序对键排序后输出。

假设向程序提供了以下输入:

New to Python or choosing between Python 2 and Python 3? Read Python 2 or Python 3.

那么,输出应该是:
2:2
3.:1
3?:1
New:1
Python:5
Read:1
and:1
between:1
choosing:1
or:2
to:1

ls = input ("please input:").split()

digit = []
digitchar = []
upper = []
lower = []
for i in ls:
    if i.isalpha():            
        if i.islower():           
            lower.append(i)
        else:    
            upper.append(i)
    elif i.isdigit():
        digit.append(i)
    else:
        digitchar.append(i)
tol = []
for i in sorted(set(digit)):
    tol.append(i)
for i in sorted(set(digitchar)):
    tol.append(i)
for i in sorted(set(upper)):
    tol.append(i)
for i in sorted(set(lower)):
    tol.append(i)
for z in tol:
    print (str(z)+":"+str(tol.count(z)))
freq = {}   # frequency of words in text
line = raw_input()
for word in line.split():
    freq[word] = freq.get(word,0)+1

words = freq.keys()
words.sort()

for w in words:
    print "%s:%d" % (w,freq[w])

23、问题:
写出一种计算数的平方值的方法

ls = input ("please input :")
for i in ls:
    j= int(i)**2
print (j)
def square(num):    
return num ** 2
print square(2)
print square(3)

24、问题:
Python有许多内置函数,如果您不知道如何使用它,可以在线阅读文档或查找一些书籍。但是Python对于每个内置函数都有一个内置的文档函数。

请编写一个程序来打印一些Python内置函数文档,例如abs()、int()、raw_input()

并为自己的功能添加文档
【抱歉偷个懒,博主觉得这个没什么写的必要就复制答案了…】

print abs.__doc__
print int.__doc__
print raw_input.__doc__

def square(num):
    '''Return the square value of the input number.
    
    The input number must be integer.
    '''
    return num ** 2

print square(2)
print square.__doc__

25、问题:
定义一个类,该类具有一个类参数和一个相同的实例参数。

class mytest():    
def test(self):
        self.x = input ("please input:")        
        print (self.x)
        aaa=mytest()
        aaa.test()
class Person:
    # Define the class parameter "name"
    name = "Person"
    
    def __init__(self, name = None):
        # self.name is the instance parameter
        self.name = name

jeffrey = Person("Jeffrey")
print "%s name is %s" % (Person.name, jeffrey.name)

nico = Person()
nico.name = "Nico"
print "%s name is %s" % (Person.name, nico.name)

26、问题:
定义一个可以计算两个数之和的函数。

def function(x,y):    
return int(x)+int(y)
x=input ("input x:")
y=input ("input y:")
print (function(x,y))
def SumFunction(number1, number2):
return number1+number2
print SumFunction(1,2)

27、问题:
定义一个可以将整数转换为字符串并在控制台中打印的函数。

def function(x):
    y=str(x)    
    return y
x=input ("input x:")
print (function(x))
def printValue(n):
print str(n)
printValue(3)

28、问题:
定义一个函数,它可以接收两个字符串形式的整数,计算它们的和,然后在控制台中打印出来。

def function(x,y):
    return int(x)+int(y)
    return y
x=input ("input x:")   # int输入的数字默认转化为str字符串
y=input ("input y:")
print (function(x,y))
Solutiondef printValue(s1,s2):
print int(s1)+int(s2)
printValue("3","4") #7

29、问题:
定义一个函数,它可以接受两个字符串作为输入,并将它们连接起来,然后在控制台中打印出来。

def function(x,y):    
return x+y
x=input ("input x:")  
y=input ("input y:")
print (function(x,y))
def printValue(s1,s2):
print s1+s2

printValue("3","4") #34

30、问题:
定义一个函数,它可以接受两个字符串作为输入,并在控制台中打印具有最大长度的字符串。如果两个字符串的长度相同,则函数应逐行打印所有字符串。

def function(x,y):
    if len(x)>len(y):
        print (x)
    elif len(x)<len(y):
        print (y)
    else:
        print (x)
        print (y)
x = input("input x:")
y = input("input y:")
function(x,y)
def printValue(s1,s2):
	len1 = len(s1)
	len2 = len(s2)
	if len1>len2:
		print s1
	elif len2>len1:
		print s2
	else:
		print s1
		print s2
		

printValue("one","three")

31、问题:
定义一个可以接受整数作为输入的函数,如果整数是偶数,则打印“它是偶数”,否则打印“它是奇数”。

def function(x):
    if (int(x) == 0):
        print ("0")
    elif (int(x)%2== 0):
        print ("它是偶数")
    else:
        print ("它是奇数")
x = input("input x:")
function(x)
def checkValue(n):
	if n%2 == 0:
		print "It is an even number"
	else:
		print "It is an odd number"
		checkValue(7)

32、问题:
定义一个函数,该函数可以打印一个字典,其中键是1到3之间的数字(包括1和3),值是键的平方。

a= {}
i=int(input("input the number"))
while i != 0:
    a[i]=i*i
    i=i-1
    print (a)
def printDict():
	d=dict()
	d[1]=1
	d[2]=2**2
	d[3]=3**2
	print d

33、问题:
定义一个函数,它可以打印一个字典,其中键是1到20之间的数字(都包括在内),值是键的平方。

```python
a= {}
i=int(input("input the number"))
while i != 0:
    a[i]=i*i
    i=i-1
    print (a)

``

def printDict():
	d=dict()
	for i in range(1,21):
		d[i]=i**2
		print d
printDict()

34、问题:
定义一个函数,它可以生成一个字典,其中键是1到20之间的数字(都包括在内),值是键的平方。函数应该只打印值。

a= {}
i=int(input("input the number"))
while i != 0:
    a[i]=i*i
    i=i-1
    for (i,j) in a.items():    
    print (j)
def printDict():
	d=dict()
	for i in range(1,21):
		d[i]=i**2for (k,v) in d.items():
		print v
printDict()

35、问题:
定义一个函数,它可以生成一个字典,其中键是1到20之间的数字(都包括在内),值是键的平方。函数应该只打印键。

a= {}
i=int(input("input the number"))
while i != 0:
    a[i]=i*i
    i=i-1for (i,j) in a.items():    
    print (i)
Solutiondef printDict():
	d=dict()
	for i in range(1,21):
		d[i]=i**2
		for k in d.keys():
		print k
printDict()

36、问题:
定义一个函数,它可以生成和打印一个列表,其中的值是介于1和20之间(两者都包括在内)的数字的平方。

a= []
for i in range(1,21):
    a.append(int(i)**2)
    print (a)
def printList():
	li=list()
	for i in range(1,21):
		li.append(i**2)
		print li
printList()

37、问题:
定义一个函数,它可以生成一个列表,其中的值是介于1和20之间(两者都包括在内)的数字的平方。然后函数需要打印列表中的前5个元素。

a= []
for i in range(1,21):
    a.append(int(i)**2)
    for i in range(0,5):    
    print (a[i])
def printList():
	li=list()
	for i in range(1,21):
		li.append(i**2)
		print li[:5]
		printList()

38、问题:
定义一个函数,它可以生成一个列表,其中的值是介于1和20之间(两者都包括在内)的数字的平方。然后函数需要打印列表中的最后5个元素。

a= []
for i in range(1,21):
    a.append(int(i)**2)
    for i in range(len(a)-5,len(a)):    
    print (a[i])
def printList():
	li=list()
	for i in range(1,21):
		li.append(i**2)
		print li[-5:]
		printList()

39、问题:
定义一个函数,它可以生成一个列表,其中的值是介于1和20之间(两者都包括在内)的数字的平方。然后,函数需要打印除列表中前5个元素之外的所有值。

a= []
for i in range(1,21):
    a.append(int(i)**2)
    for i in range(5,len(a)):    
    print (a[i])
def printList():
	li=list()
	for i in range(1,21):
		li.append(i**2)
		print li[5:]
		printList()

40、问题:
定义一个函数,该函数可以生成和打印一个元组,其中的值是介于1和20之间(两者都包括在内)的数字的平方。

a= []
for i in range(1,21):
    a.append(int(i)**2)
    b=tuple(a)
    print (b)
def printTuple():
	li=list()for i in range(1,21):
		li.append(i**2)
		print tuple(li)
		printTuple()


免责声明:本文来自互联网新闻客户端自媒体,不代表本网的观点和立场。

合作及投稿邮箱:E-mail:editor@tusaishared.com

上一篇:Python 练习100题---No.(1-20)---附其他题目解答链接

下一篇:Python 练习100题---No.(41-60)---附其他题目解答链接

用户评价
全部评价

热门资源

  • Python 爬虫(二)...

    所谓爬虫就是模拟客户端发送网络请求,获取网络响...

  • TensorFlow从1到2...

    原文第四篇中,我们介绍了官方的入门案例MNIST,功...

  • TensorFlow从1到2...

    “回归”这个词,既是Regression算法的名称,也代表...

  • TensorFlow2.0(10...

    前面的博客中我们说过,在加载数据和预处理数据时...

  • 机器学习中的熵、...

    熵 (entropy) 这一词最初来源于热力学。1948年,克...