python程序设计题怎么写_《Python语言程序设计基础》第1章程序练习题

本文是中国大学MOOC《Python语言程序设计》课程学习笔记,包含字符串拼接、整数序列求和、九九乘法表等多种程序设计题示例,展示了代码实现及与参考答案的差异,还提及部分代码暂未理解,后续待深入学习。

本文为中国大学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语言简洁而强大,简单的几行代码就能实现一些复杂的效果。做题的过程中在网上搜了下,其他语言实现同样的效果,要用更多的代码才能完成。

有些代码还不能理解,后面的课程学习后再回头来看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值