测试面试题集-Python编程题(1)

01


第一题

使用while循环实现输出2 - 3 + 4 - 5 + 6 ... + 100 的和。



# !/usr/bin/python3# -*- coding:utf-8 -*-# @微信公众号:ITester软件测试小栈# @Author:coco# @Python交流群:604469740# @Email:3593721069@qq.com# @Software:PyCharm
#方法一#从2开始计算i = 2#定义一个变量用于保存结果sum=0while i <= 100:    if i % 2 == 0:        sum = sum + i    else:        sum = sum - i    i += 1print("2-3+4-5+6...+100=",sum)
#方法二n=3sum=2while n<=100 :    #n对2取余    if n % 2 != 0:        sum = sum - n        n = n + 1    else:        sum = sum + n        n = n + 1print("2-3+4-5+6...+100=",sum)

运行结果:

测试面试题集-Python编程题(1)




02
第二题



从键盘获取一个数字,然后计算它的阶乘,例如输入的是3,那么即计算3!的结果,并输出。

提示:

1!等于 1

2!等于 1*2

3!等于 1*2*3

n!等于 1*2*3*...*n



# !/usr/bin/python3# -*- coding:utf-8 -*-# @微信公众号:ITester软件测试小栈# @Author:coco# @Python交流群:604469740# @Email:3593721069@qq.com# @Software:PyCharm
n = int(input("请输入一个非负的数字:")) # 负数不算阶乘def factorial(n):    if n == 0:        return 1  # 0的阶乘是1    else:        return n * factorial(n - 1)
if __name__ == '__main__':    result=factorial(n)    print("{}的阶乘为:{}".format(n,result))
运行结果:

测试面试题集-Python编程题(1)




03
第三题



用户输入考试成绩,当分数高于90(包含90)时打印A;否则如果分数高于80(包含80)时打印B;否则如果当分数高于70(包含)时打印C;否则如果当分数高于60(包含60)时打印D;其他情况就打印E。



# !/usr/bin/python3# -*- coding:utf-8 -*-# @微信公众号:ITester软件测试小栈# @Author:coco# @Python交流群:604469740# @Email:3593721069@qq.com# @Software:PyCharm
try:    score=float(input('请输入考试成绩:'))    if score>=90:        print('A')    elif 80<=score<90:        print('B')    elif 70<=score<80:        print('C')    elif 60<=score<70:        print('D')    else:        print('E')except Exception as e:    print('您输入有误!')

运行结果:

测试面试题集-Python编程题(1)




04
第四题



假设一年的定期利率为3.52%,需要几年才能让定期存款连本带息的翻一番(例如:需要多少年10000才能变成20000)?



# !/usr/bin/python3# -*- coding:utf-8 -*-# @微信公众号:ITester软件测试小栈# @Author:coco# @Python交流群:604469740# @Email:3593721069@qq.com# @Software:PyCharm
save_money = float(input("请输入你要存入银行的钱:"))print("你存了{}元到银行".format(save_money))total_money = save_money * 2 # 定义变量用于保存总钱数year = 1 # 定义变量用于记录年份while save_money < total_money:    save_money *= (1 + 0.0352)    year += 1print("定期利率为3.52%,需要{}年本金和利息才能翻一番!".format(year))
运行结果:

测试面试题集-Python编程题(1)




05
第五题



将列表a =["I","T","e","s","t","e","r"]拼接成字符串,请用多种方法实现。



# !/usr/bin/python3# -*- coding:utf-8 -*-# @微信公众号:ITester软件测试小栈# @Author:coco# @Python交流群:604469740# @Email:3593721069@qq.com# @Software:PyCharm
# 方法一  字符串函数调用a = ["I","T","e","s","t","e","r"]print("".join(a))
#方法二 for循环a = ["I","T","e","s","t","e","r"]s = ""for item in a:    s += itemprint(s)



上一篇:数组根据下标进行归类


下一篇:Java 注释