中国大学MOOC课程《Python语言程序设计》课后练习第一周
1、字符串拼接
python从2.6版本后增加了format函数,用来代替%s,%r等格式化字符串:
# -*- coding: utf-8 -*-
str1= input("请输入一个人的名字:")
str2= input("请输入一个国家的名字:")
print ("世界这么大,{}想去{}看看。".format(str1,str2))
print ("世界这么大,%s 想去 %s 看看。" %(str1,str2))
2、九九乘法表
print(“{}*{}={}”.format(),end(” “))
for i in range(1,10): #range中的数据1-9
for j in range(1,i+1): #i必须加一才能与j相同
print("{}*{}={}".format(j,i,j*i),end=(" "))
#要加(,end=(" "))横向才有间隔
print(" ") #每次循环完成换行
3、阶乘计算:1!+2!+…..+10!=?
输入:一到十的阶乘
输出:每个阶乘之和
实现:上一个结果乘以对应的阶乘次数,还需一个容器盛放每次的数据之和
1*1=1
1*2=2 2*3
1*2*3=6 6*4
1*2*3*4=24 24*5
a=1 #积的容器
b=0 #和的容器
for i in range(1,11):
a=a*i
b=b+a
print("阶乘之和为:",b)
4、确定问题:猴子第一天摘下若干个桃子,当即吃了一半,还
不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多
吃了一个。以后每天早上都吃了前一天剩下的一半多一个。到第五天
早上想再吃时,见只剩下一个桃子了。请编写程序计算猴子第一天共
摘了多少桃子。
设计算法:
最后一天剩一个桃子
第四天剩(1+1)*2 = 4个
第三天剩(4+1)*2 =10个
第二天剩(10+1)*2 = 22个
第一天剩(22+1)*2 = 46个
编写程序:
a=1 #最后一天剩下的桃子
for i in range(1,5):
a = (a+1)*2 #算法
print("第一天共摘了:{}个桃子".format(a))
另一种写法:y乘以二的x次方
y < < x = y*2^x
a=1 #最后一天剩下的桃子
for i in range(1,5):
a = (a+1)<<1 # +1再*2 ,y<<x = y*2^x
print("第一天共摘了:{}个桃子".format(a))