大家好,今天是21天python打卡的第15天,接下来的一段时间,我们通过学习python经典案例,来巩固最近一段时间学习的知识。

核桃编程Python图片 核桃编程python年课_开发语言



学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。

核桃编程Python图片 核桃编程python年课_核桃编程Python图片_02


目录

Hello程序

代码实现:

圆面积的计算

 代码实现:

 简单的人名对话

代码实现:

斐波那契数列的计算

 代码实现:

同切圆的绘制

代码实现:

日期和时间的输出

代码实现:

字符串拼接

代码实现:

整数序列求和

代码实现:

九九乘法表输出

代码实现:

 运行结果

阶乘求和

代码实现:

猴子吃桃问题

代码实现:

健康食谱输出

代码实现:

五角星绘制

代码实现:

运行结果 

太阳花绘制

代码实现:

运行结果


Hello程序

这个是最基础的程序,也是所有编程语言的经典案例,输出Hello World。这里我就不解释了。

代码实现:

print("Hello World")

圆面积的计算

 我们知道圆的面积怎么算,S=3.14*R*R,所以我们只要定义一个R,在做一个赋值语句就可以实现。

 代码实现:

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

 简单的人名对话

这个只要是练习输入输出语句,我就不做过多赘述。

代码实现:

name = input("输入姓名:")
print("%s 同学,学好Python,前途无量!"%name)
print("%s 大侠,学好Python,大展拳脚!"%name[0])
print("%s 哥哥,学好Python,人见人爱!"%name[1:])

斐波那契数列的计算

斐波那契数列。

what?

斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(≥ 2,∈ N*)

 代码实现:

a, b = 0, 1
while a < 1000: # 输出不大于1000 的序列
    print(a, end=',')
    a, b = b, a + b

同切圆的绘制

turtle库。

what?

turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。

我们简单拓展turtle的用法。

画布

画布就是turtle展开用于绘图区域,可以设置它的大小和初始位置。

设置画布大小

turtle.screensize(canvwidth=None,canvheight=None,bg=None),参数分别为画布的宽(单位像素),高,背景颜色。

如:turtle.screensize(800,600,"green")

turtle.screensize()#返回默认大小(400,300)

turtle.setup(width=0.5,height=0.75,startx=None,starty=None),参数:width,height:输入宽和高为整数时,表示像素;为小数时,表示占据电脑屏幕的比例,(startx,starty):这一坐标表示矩形窗口左上角顶点的位置,如果为空,则窗口位于屏幕中心。

如:turtle.setup(width=0.6,height=0.6)

turtle.setup(width=800,height=800,startx=100,starty=100)


画笔

在画布上,默认有一个坐标原点为画布中心的坐标轴,坐标原点上有一只面朝x轴正方向小乌龟。这里我们描述小乌龟时使用了两个词语:坐标原点(位置),面朝x轴正方向(方向),turtle绘图中,就是使用位置方向描述小乌龟(画笔)的状态。

画笔的属性

画笔(画笔的属性,颜色、画线的宽度等)

1)turtle.pensize():设置画笔的宽度;

2)turtle.pencolor():没有参数传入,返回当前画笔颜色,传入参数设置画笔颜色,可以是字符串如"green","red",也可以是RGB3元组。

3)turtle.speed(speed):设置画笔移动速度,画笔绘制的速度范围[0,10]整数,数字越大越快。

代码实现:

import turtle # 引用turtle 库
turtle.pensize(2) # 设置画笔宽度为2 像素
turtle.circle(10) # 绘制半径为10 像素的圆
turtle.circle(40) # 绘制半径为40 像素的圆
turtle.circle(80) # 绘制半径为80 像素的圆
turtle.circle(160) # 绘制半径为160 像素的圆

日期和时间的输出

代码实现:

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

字符串拼接

我们先了解一下什么是字符串。

字符串主要用于编程,概念说明、函数解释、用法详述见正文,这里补充一点:字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的,如s=“abcdefghij”,则s[1]=“b”,s[9]="j",这可以给我们提供很多方便,如高精度运算时每一位都可以转化为数字存入数组。

这里我们要用的format函数。

Format是CString类的一个成员函数,它通过格式操作使任意类型的数据转换成一个字符串。Format参数也是一个格式化字符串。DateTime是时间类型。返回值是一种格式化后的字符串。

代码实现:


str1 = input("请输入一个人的名字:")
str2 = input("请输入一个国家名字:")
print("世界这么大,{}想去{}看看。".format(str1,str2))


整数序列求和

这个实际上就是累加求和,用到了for i in range结构。“ for in range语句是python编程语言的内容,主要用于生成整数序列。具体用法如下:“for i in range(x, y):”这样可以生成从x到y-1的整数序列。

代码实现:


n = input("请输入整数N: ")
sum = 0
for i in range(int(n)):
    sum += i + 1
print("1 到N 求和结果: ", sum)


九九乘法表输出

代码实现:


for i in range(1,10):
    for j in range(1,i+1):
        print("{}*{}={:2} ".format(j,i,i*j), end='')
    print('')


 运行结果

核桃编程Python图片 核桃编程python年课_学习_03


阶乘求和

代码实现:


sum, tmp = 0, 1
for i in range(1,11):
    tmp*=i
    sum+=tmp
print("运算结果是: {}".format(sum))


猴子吃桃问题

range(5,0,-1) 代表从5到0,间隔-1 (不包含5)。 即range(5,0,-1) =[4,3,2,1,0]。 加上for,就是代表 I 值在range(5,0,-1) 中”

我们就介绍range的用法。

range(start, stop [,step])

参数介绍:

  • start 指的是计数起始值,可以省略不写,默认是 0;
  • stop 指的是计数结束值,但不包括 stop ;
  • step 是步长,默认为 1,不可以为 0 。

(尤其注意:如果是三个参数,那么最后一个参数才表示为步长。)

ps1:只有一个参数:表示0到这个参数内的所有整数,不包含参数本身
ran = range(6)# 定义一个list,将range范围内的数都存入list
arry_list = list(ran)
print(ran)
print(arry_list)
 
运行结果如下
range(0, 6)
[0, 1, 2, 3, 4, 5]
ps2:
range函数有2个参数时,第一个参数,表示左边界,第2个参数表示右边界,含左不含右。
ran_new = range(1, 8)list_one = list(ran_new) # 将range范围内的数据都存入list

print(list_one)


运行结果

[1, 2, 3, 4, 5, 6, 7]
ps3:
range含有3个参数时,,第一个表示左边界,第二个表示右边界,第三个表示步长step,即两个整数之间相差的数,含左不含右。
ran_two = range(1, 16,2)list_two = list(ran_two)

# list_two=

print(ran_new)

print(ran_two)

print(list_two)


运行结果为

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

range(1, 16)

range(1, 16, 2)

[1, 3, 5, 7, 9, 11, 13, 15]

代码实现:


n = 1
for i in range(5,0,-1):
    n = (n+1)<<1
print(n)


健康食谱输出

代码实现:


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")
begin_fill()
while True:
    forward(200)
    right(144)
    if abs(pos()) < 1:
        break
end_fill()


运行结果 

核桃编程Python图片 核桃编程python年课_测试用例_04


太阳花绘制

代码实现:


from turtle import *
color('red', 'yellow')
begin_fill()
while True:
    forward(200)
    left(170)
    if abs(pos()) < 1:
       break
end_fill()
done()


运行结果

核桃编程Python图片 核桃编程python年课_测试用例_05


今天通过学习了14个简单的python案例,我们能够明白python是如何输入输出的,下一篇,我们继续通过python的案例来学习python的奇妙之处。