前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2019年学习Python-day4作业

2019年学习Python-day4作业

原创
作者头像
qq317062516
修改2019-11-26 09:56:21
6580
修改2019-11-26 09:56:21
举报
文章被收录于专栏:python学习2020
代码语言:javascript
复制
# 1、使用while循环计算1~100的累积和(包含1和100),但要求跳过所有个位为3的数。
i = 0                     # 计数器                           
a = 0                     # 一个存储变量
while i <= 100:           # 循环 
    if i % 10 != 3:       # 取余不等于3的值
        # print(i)
        a += i            # a = a + i
    i += 1                # 计数器 +1
print(a)                  # 4570

# 第4天只学了while 学了for之后
a = 0
for i in range(101):     # 右边界取不到 所以直接用+1 左边界是0由于是求和暂且不管
    if i % 10 != 3:
        a += i
print(a)                 # 4570

# 2、从键盘获取一个数字,然后计算它的阶乘,例如输入的是3,
# 那么即计算3!的结果,并输出
# 提示:
# 1!等于 1
# 2!等于 1*2
# 3!等于 1*2*3
# n!等于 1*2*3*...*n
my_input = int(input("请输入一个数字:"))
i = 1                     # 计数器初始值定的1  1的阶乘是1
a = 1                     # 0的阶乘是1
list1 = []                # 没有学习其他函数,暂时用一个列表取盛放所有循环变量值
if my_input > 0:          # 因为是获取的键盘数据,所以加了if 判断数据来源
    while i <= my_input:  # 循环
        a *= i            # a = a * i
        list1.append(str(i))  # 装入列表中时直接选择的是str类型方便格式化输出
        i += 1                # 计数器 + 1
    print("%d!的阶乘是%s等于%d" % (my_input, '*'.join(list1), a))
elif my_input == 0:
    print('0的阶乘是%d' % a)
else:
    print("请输入大于0的数")

# 3、使用while循环输出如下图形:(必须使用双重while循环实现)
# *
# * *
# * * *
# * * * *
# * * * * *
i = 1                    # 从第一行开始 
while i <= 5:            # 该题要求双重循环,所以外层是5行
    n = 1                # 每次从第一列输出
    while n <= i:        # 每行的星星,刚好等于行数
        print('*', end=' ')  # 结尾有空格
        n += 1
    print("")                # 一行结束换行
    i += 1

# 4、使用while循环输出如下图形:(必须使用双重while循环实现)
#     *
#    * *
#   * * *
#  * * * *
# * * * * *
i = 1
while i <= 5:                # 同样是5行
    n = 5 - i                # 需要先打印空格
    while n > 0:            # 空格是递减的
        print(' ', end='')
        n -= 1
    print(' *' * i)
    i += 1

# 5、求 1+2!+3!+...+20! 的和。
i = 1                    # 阶乘
n = 1                    # 从1开始
a = 1                    # 1的阶乘是1
b = 0
while n <= 20:
    while i <= n:
        a *= i            # 求每个数的阶乘
        i += 1
    b += a                # 相加求和
    n += 1
print(b)

# 6、本金10000元存入银行,年利率是千分之三。
# 每过1年,将本金和利息相加作为新的本金。
# 计算5年后,获得的本金是多少?
my_money = 10000                # 本金
accrual = 0.003                 # 利息
i = 1
while i <= 5:
    my_money *= (accrual + 1)
    i += 1
print(my_money)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档