Time will tell.
1、自定义 n 个整数,使其前面的数按顺序向后移 m(自定义) 个位置,而后面 m 个数则在最前面的 m 个数的位置上。
代码:
def move_backward(m):
a = [2, 8, 6, 1, 78, 45, 34, 2]
for i in range(len(a) - m):
a.append(a[0])
a.pop(0)
return a
if __name__ == '__main__':
print(move_backward(5))
2、有n个人围成了一圈,序号排列。从第一个人开始报数,凡报到 3 的人退出圈子,那么最后留下的人是原来一整个圈子里的几号?
代码:
def report(num):
lst = []
for i in range(num):
lst.append(i + 1)
t = 0
while len(lst) > 1:
for x in range(3):
t += 1
if x == 2:
t -= 1
lst.pop(t)
if t == len(lst):
t = 0
return lst[0]
if __name__ == '__main__':
print(report(34))
打印结果:
10
3、编写函数,随机输入一个 n,当它为偶数时调用函数求 1/2+1/4+…+1/n 的值,当它为奇数时,调用函数求 1/1+1/3+…+1/n 的值。
代码:
def peven(n):
i = 0
s = 0.0
for i in range(2,n + 1,2):
s += 1.0 / i # Python里,整数除整数,只能得出整数,所以需要使用 浮点数 1.0
return s
def podd(n):
s = 0.0
for i in range(1, n + 1,2):
s += 1.0 / i # Python里,整数除整数,只能得出整数,所以需要使用 浮点数 1.0
return s
def dcall(fp,n):
s = fp(n)
return s
if __name__ == '__main__':
n = int(raw_input('input a number:\n'))
if n