一个猴子第一天摘下若干个桃子,当即吃了一半,不过瘾,又多吃了一个;第二天早上吃了剩下桃子的一半,又多吃了一个。以后每天都吃了前一天剩下的一半零一个。到第五早上想吃时,见只剩下一个桃子了,求第一天摘了多少个桃子?
#设置变量n为当日桃子数
n = 1
#利用for循环计算每日桃子数量,i 代表第几天
for i in range(4,0,-1):
n = (n+1)<<1
print("第{}天,桃子数量为:{}".format(i,n))
print(n)
利用到的知识点:
1.赋值语句:变量名 = 表达式
2.for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
3.range() 函数返回的结果是一个整数序列的对象。
range(start, stop[, step])
start: 计数从 start 开始。默认是从 0开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0,5) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
4.位操作 << 与2的幂有关
q = 15<<1 # 15 * 2
print(p) #控制台输出 30
q = 2<<2 #2*2*2
print(q) #控制台输出 8
5." {}".format() 格式化输出,意思是把字符串当成一个模板,通过传入的参数进行格式化
print('{} and {}'.format('hello','world')) # 默认左对齐
#控制台输出:hello and world
6.print() 输出函数输出字符信息