1-python,第一章

  • Post author:
  • Post category:python




1.程序设计的基本方法




1.1环境的主题和扩展


采用的是Atom来编写运行python


主题

在这里插入图片描述


扩展

在这里插入图片描述

在这里插入图片描述



smart-save 0.6.1报错问题解决(我仅指对于以下报错)

(**更新点**)对于该报错删除报错第一行报错report所指向代码的js代码可解决问题,但是保存名自动填充失败(一般也不会用他的自动填充名)
代码如下:![在这里插入图片描述](https://img-blog.csdnimg.cn/20210519105845593.png#pic_center)

报错report:

https://github.com/erinata/smart-save/issues


报错类型名:

在这里插入图片描述




1.2微实例和相关知识点




圆面积的计算

#1.1圆面积的计算
radius=25   #圆的半径是25
area =3.1415*radius*radius  #输入计算圆的面积公式
print(area)
print("{:.2f}".format(area))    #按格式输出;只输出两位小数




简答的人名对话

#1.2简单的人名对话
name = input("请输入姓名:")    #用户输入姓名
print("{}同学,学习Python".format(name))   #{}类似与C的%C,填写变量的值,要与format组合使用
print("{}大侠,喜欢Python".format(name[0]))  #[n]输出第n+1个字符
print("{}哥哥,你好哇".format(name[1:]))    #[n:]输出从下标为n(第n+1个)字符开始之后的所有字符


{}类似与C的%C,填写变量的值,要与format组合使用


[n]输出第n+1个字符


[n:]输出从下标为n(第n+1个)字符开始之后的所有字符

(format的使用参见第三章)




斐波那契数列的计算

#斐波那契数列的计算
a,b= 0,1  # =前后是一一对应关系,但是不建议这样使用,不便于阅读
while a<1000:   #输出不大于1000的序列
  print(a,end=',')
  a,b=b,a+b


“=”在赋值时前后是一一对应的,不建议这样做,阅读比较麻烦


!!!!!同时是同时执行的!!!




同切圆的绘制

#绘制四个半径不同的同切圆
import turtle       #引用turtle库
import time         #导入time库
turtle.pensize(2)   #设置画笔宽度为2像素
turtle.circle(10)   #绘制半径为20的圆
turtle.circle(40)
turtle.circle(80)
turtle.circle(160)
time.sleep(100)     #程序暂停100毫秒,防止因画图结束后直接闪退




日期和时间的输出

#时间和日期的输出
from datetime import datetime   #引用第三方库
now =datetime.now()             #获取当前的日期和时间日期
print(now)
print(now.strftime("%x"))  #输出其中的日期部分
print(now.strftime("%X"))  #输出其中的时间部分


from xxx import x 可以直接使用x而不用以


xxx.x


的方式调用


import xxx 使用内部的函数或者方法要采用


XXX.函数/方


法的方式

**在没有方法重名时,推荐使用上面的(****from xxx import * **

导入XXX的全部内容)


在有方法重名时,推荐下面的(其实都可以,


但是对于重名的一定要使用xxx.x的方式使


用)




1.3程序练习题




字符串拼接

#字符串拼接:接收用户输入的两个字符串,将他们组合后输出
str1 =input("请输入一个人的名字:")
str2 =input("请输入一个人的称号:")
print("{}{},天网恢恢,疏而不漏,你逃不了的!".format(str2,str1))




整数序列求和

#整数序列求和
n=input("请输入整数N:")
sum=0
for i in range(int(n)+1): #for循环默认从0开始,而且是不包括n(range)
    sum=sum+i
print("1到N的求和结果是:",sum)
#书上默认给的是:(一个意思)
#for i in range(int(n)):
#    sum+=sum+i+1


for循环默认从0开始,而且是不包括n(range)




九九乘法表输出

#九九乘法表输出
#工整打印输出常用的九九乘法表,格式不限。
for i in range(1,10):   #前包后不包,这个实例中不包括10
    for j in range(1,i+1):
        print("{}*{}={:2}".format(j,i,i*j),end=' ')
    print('')


for循环的range(start,end)包括start不包括end




计算1+2!+3!+…+10!的结果

#计算1+2!+3!+...+10!的结果
sum,temp=0,1
for i in range(1,11):
    temp*=i
    sum+=temp;
print("运算结果是:{}".format(sum))




猴子吃桃问题:


猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃了一半,又多吃了一个。以后每天都吃了前一天剩下的桃子的一半多一个。


到第五天早上在想吃的时候,见只剩下一个桃子了。请编写程序计算猴子第一天一共摘了多少桃子。

#猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;
#第二天早上又将剩下的桃子吃了一半,又多吃了一个。
#以后每天都吃了前一天剩下的桃子的一半多一个。
#到第五天早上在想吃的时候,见只剩下一个桃子了。请编写程序计算猴子第一天一共摘了多少桃子。
n=1
for i in range(4,0,-1): #从4开始,到0结束(不包括0),步长为-1(递减)
    n=(n+1)<<1          #每一天是后一天多一个的二倍
print(n)


for循环的range(start,end,step),从start开始,到end结束,不包括end,step为递增(step为正)或递减(step为负)的步长




健康食谱输出

#健康食谱输出(数组输出)
diet =['西红柿','花椰菜','黄瓜','牛排','虾仁']
for x in range(0,5):
    for y in range(0,5):
        if not(x==y):
            print("{}{}".format(diet[x],diet[y]))




五角星的绘制

#五角星的绘制
from turtle import *
fillcolor("red")    #颜色填充    可改为color('red','red'),更好点
begin_fill()
while True:         #大写注意
    forward(200)
    right(144)
    if abs(pos())<1:
        break
end_fill()    
done()




太阳花的绘制

#太阳花的绘制
from turtle import *
color('red','yellow')
begin_fill()
while True:
    forward(200)
    left(170)
    if abs(pos())<1:
        break
end_fill()
done()


color(a,b):a 为画笔颜色,b为填充颜色


备注

:以上为高等教育出版社 Python语言程序设计基础(第2版)课本内容第一章的整理(定义之类的直接跳过了)

此为对自己所学整理,如有错误疏漏之处,欢迎指正!



版权声明:本文为qq_44354427原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。