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 % 2 == 0:
sum = dcall(peven,n)
else:
sum = dcall(podd,n)
print sum
4、有一堆桃子,5只猴子来分。第一只猴子把这堆桃子平均分为5份,多出的一个桃子被这只猴子扔了,并拿走其中一份。第二只猴子把剩下的桃子平均分成5份,又多了一个,它同样把多的一个扔了,并拿走了其中一份。第三、四、五只猴子同样这么做,那么原来一共有多少个桃子?
代码1:
if __name__ == '__main__':
i = 0
j = 1
x = 0
while (i < 5) :
x = 4 * j
for i in range(0,5) :
if(x%4 != 0) :
break
else :
i += 1
x = (x/4) * 5 +1
j += 1
print x
代码2:
def divide_peach():
for num in range(1000):
for x in range(5):
num = num * 5 + 1
if not num % 4:
num = num // 4
continue
else:
break
if x == 4:
return num
return None
if __name__ == '__main__':
print(divide_peach())
5、?? 代表一个两位数,809*?? = 800*??+9*?? , 809*?? 结果为四位数,8*?? 结果为两位数,9*??结果为三位数。求?? 是多少,及809*?? 的结果。
代码:
a = 809
for i in range(10,100):
b = i * a
if b >= 1000 and b <= 10000 and 8 * i < 100 and 9 * i >= 100:
print b,' = 800 * ', i, ' + 9 * ', i
6、将一个八进制转换为十进制。
代码:
if __name__ == '__main__':
n = 0
p = raw_input('input a octal number: ')
for i in range(len(p)):
n = n * 8 + ord(p[i]) - ord('0')
print n
7.求 0 到 7 当中所能组成的奇数的个数。
代码:
if __name__ == '__main__':
sum = 4
s = 4
for j in range(2,9):
print sum
if j <= 2:
s *= 7
else:
s *= 8
sum += s
print 'sum = %d' % sum
8、随机输入一个奇数,然后判断该数最少除以几个 9后,结果为整数。
代码:
if __name__ == '__main__':
zi = int(raw_input('输入一个数字:\n'))
n1 = 1
c9 = 1
m9 = 9
sum = 9
while n1 != 0:
if sum % zi == 0:
n1 = 0
else:
m9 *= 10
sum += m9
c9 += 1
print '%d 个 9 可以被 %d 整除 : %d' % (c9,zi,sum)
r = sum / zi
print '%d / %d = %d' % (sum,zi,r)
9、在 1—50当中输入其中7个整数值,每输入一个数,程序在打印行打印出相对应个数的*号。
代码:
if __name__ == '__main__':
n = 1
while n <= 7:
a = int(raw_input('input a number:\n'))
while a < 1 or a > 50:
a = int(raw_input('input a number:\n'))
print a * '*'
n += 1
10、公司采用公用电话传递数据,数据是一个四位整数,在传递过程中加密。每位数字都加上5,然后用和 除以10的余数来代替该数字。再将第一位与第四位交换,第二位与第三位交换。求数据加密后的数(自定义一个加密钱的四位数)。
代码:
from sys import stdout
if __name__ == '__main__':
a = int(raw_input('输入四个数字:\n'))
aa = []
aa.append(a % 10)
aa.append(a % 100 / 10)
aa.append(a % 1000 / 100)
aa.append(a / 1000)
for i in range(4):
aa[i] += 5
aa[i] %= 10
for i in range(2):
aa[i],aa[3 - i] = aa[3 - i],aa[i]
for i in range(3,-1,-1):
stdout.write(str(aa[i]))
11、在打印行当中随机输入一些字符,逐个把它们写到磁盘文件上,直到输入一个 # 为止。
代码:
if __name__ == '__main__':
from sys import stdout
filename = raw_input('输入文件名:\n')
fp = open(filename,"w")
ch = raw_input('输入字符串:\n')
while ch != '#':
fp.write(ch)
stdout.write(ch)
ch = raw_input('')
fp.close()
12、在打印行当中随机输入一些字符,将小写字母全部转换成大写字母,然后输出到一个磁盘文件"test"中保存。
代码:
if __name__ == '__main__':
fp = open('test.txt','w')
string = raw_input('please input a string:\n')
string = string.upper()
fp.write(string)
fp = open('test.txt','r')
print fp.read()
fp.close()
13、时间函数模仿,一个猜数游戏,判断一个人反应快慢
代码:
if __name__ == '__main__':
import time
import random
play_it = input('do you want to play it.(\'y\' or \'n\')')
while play_it == 'y':
c = input('input a character:\n')
i = random.randint(0, 2 ** 32) % 100
print('please input number you guess!')
start = time.process_time()
a = time.time()
guess = int(input('input your guess:\n'))
while guess != i:
if guess > i:
print('please input a little smaller')
guess = int(input('input your guess:\n'))
else:
print('please input a little bigger')
guess = int(input('input your guess:\n'))
end = time.process_time()
b = time.time()
var = (end - start) / 18.2
print(var)
print(f'It took you {b - a} seconds')
if var < 15:
print('you are very clever!')
elif var < 25:
print('you are normal!')
else:
print('you are stupid!')
print('Congradulations')
print('The number you guess is %d' % i)
play_it = input('do you want to play it.(\'y\' or \'n\')')
14、有A、B两个磁盘文件,各存放一行字母。用代码把这两个文件中的信息合并,并输出到一个新文件C中。
代码:
# 在脚本执行的目录下创建 test1.txt、test2.txt 文件。
if __name__ == '__main__':
import string
fp = open('test1.txt')
a = fp.read()
fp.close()
fp = open('test2.txt')
b = fp.read()
fp.close()
fp = open('test3.txt','w')
l = list(a + b)
l.sort()
s = ''
s = s.join(l)
fp.write(s)
fp.close()
15、一个整数,加上100后是一个完全平方数,再加上168又是一个完全平方数,用代码求出该数的值。
代码:
main()
{
long int i,x,y,z;
for (i=1;i<100000;i++)
{ x=sqrt(i+100); /*x为加上100后开方后的结果*/
y=sqrt(i+268); /*y为再加上168后开方后的结果*/
if(x*x==i+100&&y*y==i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/
printf("\n%ld\n",i);
}
}
絮叨
如果你对Python自动化测试、Python面试题、Python练习题感兴趣的话可以加入我们175317069一起学习喔。群里会有各项资料发放,也有行业深潜多年的测试人技术分析讲解。
欢迎【评论】、【点赞】、【关注】礼貌三连~
Time will tell.(时间会证明一切)