内容简介:昨天和大家分享了前10道题,今天继续来刷21~30
刷题继续
昨天和大家分享了前10道题,今天继续来刷21~30
Question 21:
A robot moves in a plane starting from the original point (0,0). The robot can move toward UP, DOWN, LEFT and RIGHT with a given steps. The trace of robot movement is shown as the following:
UP 5 DOWN 3 LEFT 3 RIGHT 2
The numbers after the direction are steps. Please write a program to compute the distance from current position after a sequence of movement and original point. If the distance is a float, then just print the nearest integer.
Example:
If the following tuples are given as input to the program:
UP 5 DOWN 3 LEFT 3 RIGHT 2
Then, the output of the program should be:
解法一
import math x,y = 0,0 while True: s = input().split() if not s: break if s[0]=='UP': # s[0] indicates command x-=int(s[1]) # s[1] indicates unit of move if s[0]=='DOWN': x+=int(s[1]) if s[0]=='LEFT': y-=int(s[1]) if s[0]=='RIGHT': y+=int(s[1]) # N**P means N^P dist = round(math.sqrt(x**2 + y**2)) # euclidean distance = square root of (x^2+y^2) and rounding it to nearest integer print(dist)
Question 22:
Suppose the following input is supplied to the program:
New to Python or choosing between Python 2 and Python 3? Read Python 2 or Python 3.
Then, the output should be:
2:2 3.:1 3?:1 New:1 Python:5 Read:1 and:1 between:1 choosing:1 or:2 to:1
解法一
ss = input().split() word = sorted(set(ss)) # split words are stored and sorted as a set for i in word: print("{0}:{1}".format(i,ss.count(i)))
解法二
ss = input().split() dict = {} for i in ss: i = dict.setdefault(i,ss.count(i)) dict = sorted(dict.items()) for i in dict: print("%s:%d"%(i[0],i[1]))
解法三
from collections import Counter ss = input().split() ss = Counter(ss) # returns key & frequency as a dictionary ss = sorted(ss.items()) # returns as a tuple list for i in ss: print("%s:%d"%(i[0],i[1]))
Question 23:
Write a method which can calculate square value of number
解法一
def square(num): return num ** 2 print(square(2)) print(square(3))
解法二
n=int(input()) print(n**2)
Question 24:
Please write a program to print some Python built-in functions documents, such as abs(), int(), raw_input()
And add document for your own function
解法一
print (abs.__doc__) print (int.__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__)
Question 25:
Define a class, which have a class parameter and have a same instance parameter.
解法一
class Car: name = "Car" def __init__(self,name = None): self.name = name honda=Car("Honda") print("%s name is %s"%(Car.name,honda.name)) toyota=Car() toyota.name="Toyota" print("%s name is %s"%(Car.name,toyota.name))
解法二
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 ("{0} name is {1}".format(Person.name, jeffrey.name)) nico = Person() nico.name = "Nico" print (f"{Person.name} name is {nico.name}")
Question 26:
Define a function which can compute the sum of two numbers.
解法一
sum = lambda n1,n2 : n1 + n2 # here lambda is use to define little function as sum print(sum(1,2))
解法二
def SumFunction(number1, number2): return number1 + number2 print SumFunction(1,2)
Question 27:
Define a function that can convert a integer into a string and print it in console.
解法一
def printValue(n): print str(n) printValue(3)
解法二
conv = lambda x : str(x) n = conv(10) print(n) print(type(n))
Question 28:
Define a function that can receive two integer numbers in string form and compute their sum and then print it in console.
解法一
def printValue(s1,s2): print int(s1) + int(s2) printValue("3","4") #7
解法二
sum = lambda s1,s2 : int(s1) + int(s2) print(sum("10","45")) # 55
Question 29:
Define a function that can accept two strings as input and concatenate them and then print it in console.
解法一
def printValue(s1,s2): print s1 + s2 printValue("3","4") #34
解法二
sum = lambda s1,s2 : s1 + s2 print(sum("10","45")) # 1045
Question 30:
Define a function that can accept two strings as input and print the string with maximum length in console. If two strings have the same length, then the function should print all strings line by line.
解法一
def printVal(s1,s2): len1 = len(s1) len2 = len(s2) if len1 > len2: print(s1) elif len1 < len2: print(s2) else: print(s1) print(s2) s1,s2=input().split() printVal(s1,s2)
源代码下载
这十道题的代码在我的github上,如果大家想看一下每道题的输出结果,可以点击以下链接下载:
我的运行环境 Python 3.6+,如果你用的是Python 2.7版本,绝大多数不同就体现在以下3点:
- raw_input()在Python3中是input()
- print需要加括号
- fstring可以换成.format(),或者%s,%d
谢谢大家,我们下期见!希望各位朋友不要吝啬,把每道题的更高效的解法写在评论里,我们一起进步!!!
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- golang基础练习(一)
- Python基础练习100题 ( 1~ 10)
- Python基础练习100题 ( 31~ 40)
- [Java] 蓝桥杯BASIC-14 基础练习 时间转换
- [Java] 蓝桥杯BASIC-17 基础练习 矩阵乘法
- [Java] 蓝桥杯BASIC-15 基础练习 字符串对比
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
人人都是架构师:分布式系统架构落地与瓶颈突破
高翔龙 / 电子工业出版社 / 2017-5 / 69
《人人都是架构师:分布式系统架构落地与瓶颈突破》并没有过多渲染系统架构的理论知识,而是切切实实站在开发一线角度,为各位读者诠释了大型网站在架构演变过程中出现一系列技术难题时的解决方案。《人人都是架构师:分布式系统架构落地与瓶颈突破》首先从分布式服务案例开始介绍,重点为大家讲解了大规模服务化场景下企业应该如何实施服务治理;然后在大流量限流/消峰案例中,笔者为大家讲解了应该如何有效地对流量实施管制,避......一起来看看 《人人都是架构师:分布式系统架构落地与瓶颈突破》 这本书的介绍吧!