# 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 删除。