Python练习题(持续更新中)

第一题

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

#方法一
#从2开始计算
i = 2
#定义一个变量用于保存结果
sum=0
while i <= 100:
    if i % 2 == 0:
        sum = sum + i
    else:
        sum = sum - i
    i += 1
print("2-3+4-5+6...+100=",sum)

#方法二
n=3
sum=2
while n<=100 :
    #n对2取余
    if n % 2 != 0:
        sum = sum - n
        n = n + 1
    else:
        sum = sum + n
        n = n + 1
print("2-3+4-5+6...+100=",sum)

 

第二题

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

提示:

1!等于 1

2!等于 1*2

3!等于 1*2*3

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

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

 

第三题

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

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('您输入有误!')

 

第四题

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

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 += 1
print("定期利率为3.52%,需要{}年本金和利息才能翻一番!".format(year))

 

第五题

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

# 方法一  字符串函数调用
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 += item
print(s)

 

 

注:文章首发于微信公众平台【ITester软件测试小栈】

 

posted @ 2020-03-06 14:09  可可的测试小栈  阅读(1425)  评论(0编辑  收藏  举报