python经典题21道

提示:会有格式上的错误!
问题21
3级

问题:
机器人从原始点(0,0)开始在平面上移动。 机器人可以按照给定的步骤向上,下,左和右移动。 机器人运动的轨迹如下图所示:
上5332

方向后的数字为步长。 请编写一个程序,以计算一系列移动和原始点之后与当前位置的距离。 如果距离是浮点数,则只需打印最接近的整数即可。
例子:
如果给出以下元组作为程序的输入:
上5332
然后,程序的输出应为:
2个

提示:
如果将输入数据提供给问题,则应假定它是控制台输入。

解决方案:

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
3级

问题:
编写一个程序来计算输入中单词的频率。 在按字母数字顺序对键进行排序后,应输出输出。
假设将以下输入提供给程序:
是Python的新手,还是在Python 2和Python 3之间选择? 阅读Python 2或Python 3。
然后,输出应为:
22
3 :: 1
3?:1
新增:1个
的Python:5
阅读:1
和:1
之间:1
选择:1
或:2
至:1

提示
如果将输入数据提供给问题,则应假定它是控制台输入。

解决方案:
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
1级

问题:
     编写一种可以计算数字平方值的方法

提示:
     使用**运算符

解决方案:
def square(num):
    return num ** 2

print square(2)
print square(3)

#----------------------------------------#
问题24
1级

问题:
     Python具有许多内置函数,如果您不知道如何使用它,则可以在线阅读文档或查找一些书籍。 但是Python对于每个内置函数都有一个内置文档函数。
     请编写程序以打印一些Python内置函数文档,例如abs(),int(),raw_input()
     并添加您自己的功能的文档
    
提示:
内置文档方法是__doc__
解决方案:

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
1级

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

提示:
     定义实例参数,需要将其添加到__init__方法中
     您可以使用构造参数初始化对象或稍后设置值

解决方案:

class Person:
    #定义类参数“名称”
    name = "Person"
    
    def __init__(self, name = None):
       #self.name是实例参数
        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)

#----------------------------------------#
问题:
定义一个可以计算两个数字之和的函数。

提示:
定义一个以两个数字作为参数的函数。 您可以在函数中计算总和并返回值。

def SumFunction(number1, number2):
	return number1+number2

print SumFunction(1,2)

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

提示:

使用str()将数字转换为字符串。

解决方案

def printValue(n):
	print str(n)

printValue(3)
	

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

提示:

使用str()将数字转换为字符串。

解决方案

def printValue(n):
	print str(n)

printValue(3)

#----------------------------------------#

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

提示:

使用int()将字符串转换为整数。

解决方案

def printValue(s1,s2):
	print int(s1)+int(s2)

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





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

提示:

使用+连接字符串

解决方案

def printValue(s1,s2):
	print s1+s2

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

#----------------------------------------#



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

提示:

使用len()函数获取字符串的长度

解决方案

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")



#----------------------------------------#


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

提示:

使用%运算符检查数字是偶数还是奇数。

解决方案

def checkValue(n):
	if n%2 == 0:
		print "It is an even number"
	else:
		print "It is an odd number"
		

checkValue(7)


#----------------------------------------#

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

提示:

使用dict [key] = value模式将条目放入字典中。
使用**运算符可获取数字的幂。

解决方案

def printDict():
	d=dict()
	d[1]=1
	d[2]=2**2
	d[3]=3**2
	print d
		

printDict()





#----------------------------------------#


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

提示:

使用dict [key] = value模式将条目放入字典中。
使用**运算符可获取数字的幂。
使用range()进行循环。

解决方案

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

printDict()


#----------------------------------------#


问题:
定义一个可以生成字典的函数,其中键是120之间的数字(均包括在内),值是键的平方。 该功能应仅打印值。

提示:

使用dict [key] = value模式将条目放入字典中。
使用**运算符可获取数字的幂。
使用range()进行循环。
使用keys()迭代字典中的键。 我们也可以使用item()来获取键/值对。

解决方案

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

printDict()

#----------------------------------------#

问题:
定义一个可以生成字典的函数,其中键是120之间的数字(均包括在内),值是键的平方。 该功能应仅打印键。

提示:

使用dict [key] = value模式将条目放入字典中。
使用**运算符可获取数字的幂。
使用range()进行循环。
使用keys()迭代字典中的键。 我们也可以使用item()来获取键/值对。

解决方案

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

printDict()


#----------------------------------------#


问题:
定义一个函数,该函数可以生成和打印一个列表,其中值是介于120之间的数字的平方(均包括在内)。

提示:

使用**运算符可获取数字的幂。
使用range()进行循环。
使用list.append()将值添加到列表中。

解决方案

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

printList()

#----------------------------------------#

问题:
定义一个函数,该函数可以生成一个列表,其中值是介于120之间的数字的平方(均包括在内)。 然后,该功能需要打印列表中的前5个元素。

提示:

使用**运算符可获取数字的幂。
使用range()进行循环。
使用list.append()将值添加到列表中。
使用[n1:n2]分割列表

解决方案

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

printList()


#----------------------------------------#


问题:
定义一个函数,该函数可以生成一个列表,其中值是介于120之间的数字的平方(均包括在内)。 然后,该功能需要打印列表中的最后5个元素。

提示:

使用**运算符可获取数字的幂。
使用range()进行循环。
使用list.append()将值添加到列表中。
使用[n1:n2]分割列表

解决方案

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

printList()


#----------------------------------------#


问题:
定义一个函数,该函数可以生成一个列表,其中值是介于120之间的数字的平方(均包括在内)。 然后,该函数需要打印列表中前5个元素以外的所有值。

提示:

使用**运算符可获取数字的幂。
使用range()进行循环。
使用list.append()将值添加到列表中。
使用[n1:n2]分割列表

解决方案

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

printList()


#----------------------------------------#


问题:42
定义一个函数,该函数可以生成和打印一个元组,其中值是介于120之间的数字的平方(均包括在内)。

提示:

使用**运算符可获取数字的幂。
使用range()进行循环。
使用list.append()将值添加到列表中。
使用tuple()从列表中获取一个元组。

解决方案

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

持续更新

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值