本文为中国大学MOOC《Python语言程序设计》课程学习笔记,课程主讲:嵩天老师,练习平台:Python123,参考教材:《Python语言程序设计基础》
1.1 字符串拼接
Str1 = input("请输入一个人的名字:")
Str2 = input("请输入一个国家的名字:")
print("世界那么大,{}想去{}看看".format(Str1,Str2))print()引用字符串时,直接使用{}
format()可以指向多个变量的引用,按先后关系一一对应
1.2 整数序列求和
用户输入一个正整数N,计算从1到N(包含1和N)相加之后的结果。
我写的:
N = eval(input("请输入一个正整数:"))
summ = 0
for i in range(1,N+1):
summ = summ + i
print("1到{}的求和结果是:{}".format(N,summ))
参考答案:
N = input("请输入一个正整数:")
summ = 0
for i in range(int(N)):
summ = summ + i + 1
print("1到{}的求和结果是:".format(N),summ)
不同之处:将用户输入的值转换为整数用了不同的函数,eval()和int()
从1到N相加表示时的区间,我写的是range(1,N+1),参考答案是将求和公式时统一加了1
print()时,我是将两个都用format()函数输出,参考答案是将两段字符串分别输出,中间使用逗号分隔。
1.3 九九乘法表
for i in range(1,10):
for j in range(1,i+1):
ji = j*i
print("{} × {} = {}".format(j,i,ji),end=" ")
print("")
输出结果:输出结果不换行的处理方法,print("",end=""),end=" ",中间加空格,则输出结果中间多出空格
print("")确保了换行
1.4 1!+2!+……10!=?
s,t=0,1
for i in range(1,11):
t*=i
s+=t
print("运行的结果是:{}".format(s))t*=i,等价于 t=t*i
在python中,多余的空格在执行时会被删除,t*=i 等价于 t = t * i
1.5 猴子吃桃问题
猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第十天早上在想吃时,就只剩一个桃子了。求第一天共摘了多少个桃子?
参考答案:
n = 1
for i in range(4,0,-1):
n = (n + 1)<<1
print(n)
(这题没有看明白,以后学了更多知识后回头再看)
1.6 健康食谱输出
列出5种不同食材,输出它们可能组成的所有菜式名称。
diet = ['土豆','西红柿','黄瓜','鲤鱼','鸡蛋']
for i in range(0,5):
for j in range(0,5):
if not(i==j):
print("{}{}".format(diet[i],diet[j]))i不等于j的表达方式,不是 i<>j,而是not(i==j)
1.7 五角星的绘制
参考答案:
from turtle import *
fillcolor("red")
begin_fill
while True:
forward(200)
right(144)
if abs(pos())<1:
break
end_fii()
(本题现在还看不明白)
1.8 太阳花的绘制
参考答案:
from turtle import *
color('red','yellow')
begin_fill()
while True:
forward(200)
left(170)
if abs(pos())<1:
break
end_fill
done()
(本题现在还看不明白)
绘图效果:
总结
Python语言简洁而强大,简单的几行代码就能实现一些复杂的效果。做题的过程中在网上搜了下,其他语言实现同样的效果,要用更多的代码才能完成。
有些代码还不能理解,后面的课程学习后再回头来看。