Python基本语法元素
小猪佩奇
从比较前沿的数据挖掘、科学计算、网络爬虫、图像处理、人工智能到传统的 Web 开发、游戏开发,Python 都可以胜任。
Python 具有大量的实用库,可以完成很多工作,本小节中,使用 Turtle 这个能绘图的虚拟海龟机器人,绘制小猪佩奇,让你体验 Python 的有趣。
请直接 运行 编辑器中的代码,右侧会画布中会一只小猪佩奇。
import turtle
t = turtle.Turtle()
t.pensize(4)
# t.hideturtle()
turtle.colormode(255) # 设置画笔大小为0-255
t.color((255, 155, 192), "pink")
t.setheading(-30)
t.pu()
t.goto(-100, 100)
t.begin_fill()
t.pd()
a = 0.4
for i in range(120):
if 0 <= i < 30 or 60 <= i < 90:
a = a + 0.08
t.lt(3)
t.fd(a)
else:
a = a - 0.08
t.lt(3)
t.fd(a)
t.end_fill()
t.pu()
t.seth(90)
t.fd(25)
t.setheading(0)
t.fd(10)
t.begin_fill()
t.pd()
t.circle(5)
t.color(160, 82, 45)
t.end_fill()
t.pu()
t.seth(0)
t.fd(20)
t.pd()
t.pencolor(255, 155, 192)
t.begin_fill()
t.circle(5)
t.color(160, 82, 45)
t.end_fill()
# 头
t.color((255, 155, 192), "pink")
t.pu()
t.seth(90)
t.fd(41)
t.seth(0)
t.pd()
t.begin_fill()
t.seth(0)
t.circle(-300, 30)
t.circle(-100, 60)
t.circle(-80, 100)
t.circle(-150, 20)
t.circle(-60, 95)
t.seth(161)
t.circle(-300, 15)
t.pu()
t.goto(-100, 100)
t.pd()
t.seth(-30)
a = 0.4
for i in range(60):
if 0 <= i < 30:
a = a + 0.08
t.lt(3)
t.fd(a)
else:
a = a - 0.08
t.lt(3)
t.fd(a)
t.end_fill()
# 耳
t.color((255, 155, 192), "pink")
t.pu()
t.seth(90)
t.fd(-7)
t.seth(0)
t.fd(70)
t.pd()
t.begin_fill()
t.seth(100)
t.circle(-50, 50)
t.circle(-10, 120)
t.circle(-50, 54)
t.end_fill()
t.pu()
t.seth(90)
t.fd(-12)
t.seth(0)
t.fd(30)
t.pd()
t.begin_fill()
t.seth(100)
t.circle(-50, 50)
t.circle(-10, 120)
t.circle(-50, 56)
t.end_fill()
# 眼睛
t.color((255, 155, 192), "white")
t.pu()
t.seth(90)
t.fd(-20)
t.seth(0)
t.fd(-95)
t.pd()
t.begin_fill()
t.circle(15)
t.end_fill()
t.color("black")
t.pu()
t.seth(90)
t.fd(12)
t.seth(0)
t.fd(-3)
t.pd()
t.begin_fill()
t.circle(3)
t.end_fill()
t.color((255, 155, 192), "white")
t.pu()
t.seth(90)
t.fd(-25)
t.seth(0)
t.fd(40)
t.pd()
t.begin_fill()
t.circle(15)
t.end_fill()
t.color("black")
t.pu()
t.seth(90)
t.fd(12)
t.seth(0)
t.fd(-3)
t.pd()
t.begin_fill()
t.circle(3)
t.end_fill()
# 腮
t.color((255, 155, 192))
t.pu()
t.seth(90)
t.fd(-95)
t.seth(0)
t.fd(65)
t.pd()
t.begin_fill()
t.circle(30)
t.end_fill()
# 嘴
t.color(239, 69, 19)
t.pu()
t.seth(90)
t.fd(15)
t.seth(0)
t.fd(-100)
t.pd()
t.seth(-80)
t.circle(30, 40)
t.circle(40, 80)
# 身体
t.color("red", (255, 99, 71))
t.pu()
t.seth(90)
t.fd(-20)
t.seth(0)
t.fd(-78)
t.pd()
t.begin_fill()
t.seth(-130)
t.circle(100, 10)
t.circle(300, 30)
t.seth(0)
t.fd(230)
t.seth(90)
t.circle(300, 30)
t.circle(100, 3)
t.color((255, 155, 192), (255, 100, 100))
t.seth(-135)
t.circle(-80, 63)
t.circle(-150, 24)
t.end_fill()
# 手
t.color((255, 155, 192))
t.pu()
t.seth(90)
t.fd(-40)
t.seth(0)
t.fd(-27)
t.pd()
t.seth(-160)
t.circle(300, 15)
t.pu()
t.seth(90)
t.fd(15)
t.seth(0)
t.fd(0)
t.pd()
t.seth(-10)
t.circle(-20, 90)
t.pu()
t.seth(90)
t.fd(30)
t.seth(0)
t.fd(237)
t.pd()
t.seth(-20)
t.circle(-300, 15)
t.pu()
t.seth(90)
t.fd(20)
t.seth(0)
t.fd(0)
t.pd()
t.seth(-170)
t.circle(20, 90)
# 脚
t.pensize(10)
t.color((240, 128, 128))
t.pu()
t.seth(90)
t.fd(-75)
t.seth(0)
t.fd(-180)
t.pd()
t.seth(-90)
t.fd(40)
t.seth(-180)
t.color("black")
t.pensize(15)
t.fd(20)
t.pensize(10)
t.color((240, 128, 128))
t.pu()
t.seth(90)
t.fd(40)
t.seth(0)
t.fd(90)
t.pd()
t.seth(-90)
t.fd(40)
t.seth(-180)
t.color("black")
t.pensize(15)
t.fd(20)
# 尾巴
t.pensize(4)
t.color((255, 155, 192))
t.pu()
t.seth(90)
t.fd(70)
t.seth(0)
t.fd(95)
t.pd()
t.seth(0)
t.circle(70, 20)
t.circle(10, 330)
t.circle(70, 30)
第一个程序
Python程序由指令组成,运行程序时,计算机依据预设好的指令执行程序。
print是最简单,但很常用的指令,它用于将一些信息输出至屏幕上。
下面演示Python中的print指令:
print(“Hello World!”)
print("Hello World!")
print("Hello Python!")
输出个性签名
微信提供了设置属于自己的个性签名功能,每个人都可以设置属于自己的个性签名,请使用print()函数,将下面这段个性签名打印输出。
再小的努力,乘以 365 都很明显!
print("再小的努力,乘以365都很明显!")
打印欢迎购物
请用程序实现
将下列内容,按照格式,利用print()函数在控制台打印输出。
========== 欢迎购物==========
请选择:
1.衣服
2.生鲜
3.日用品
===========================
请输入商品编码:
# 请将指定内容打印输出
print("==========欢迎购物==========")
print("请选择:")
print("1.衣服")
print("2.生鲜")
print("3.日用品")
print("===========================")
print("请输入商品编码:")
求圆面积周长
请用程序实现
输入圆的半径r,计算圆的面积(area)和周长(circumference)。
注意: 所有数保留两位小数。π取值3.14。方法为:print("%.2f" % a)。
示例1:
输入:
3.0
输出:
面积:28.26
周长:18.84
示例2
输入:
6
输出:
面积:113.04
周长:37.68
# 请使用 input() 输入圆的半径 r
r = float(input("请输入半径:"))
# 请计算圆的面积和周长,并将计算结果输出
area=3.14*r*r
circum=2*3.14*r
print("面积: %.2f" % area)
print("周长: %.2f" %circum)
同切圆绘制
请用程序实现
根据视频课程内容,使用turtle库,绘制半径分别为 10,40,80,160 的同切圆。
import turtle as t
t.pensize(3)
t.circle(10)
t.circle(40)
t.circle(80)
t.circle(160)
五角星绘制
请用程序实现
根据视频课程内容,使用turtle库,绘制一个五角星。
from turtle import * #导入turtle库包
color('black','red') #配置填充颜色
begin_fill()
for i in range(5):
fd(200)
rt(144)
end_fill()
温度转换
温度的刻画有两个不同体系:摄氏度(Celsius)和华氏度(Fahrenheit)。
编写一个程序,将用户输入的华氏度转换为摄氏度,或将输入的摄氏度转换为华氏度。
转换算法如下:(C表示摄氏度、F表示华氏度)
C = ( F - 32 ) / 1.8
F = C * 1.8 + 32
要求如下:
(1) 输入输出的摄氏度可采用大小写字母C结尾,温度可以是整数或小数,如:12.34C指摄氏度12.34度;
(2) 输入输出的华氏度可采用大小写字母F结尾,温度可以是整数或小数,如:87.65F指华氏度87.65度;
(3) 输出保留小数点后两位,输入格式错误时,输出提示:输入格式错误;
(4) 使用input()获得输入时,不要增加提示字符串。
示例 1
输入
12.34C
输出
54.21F
示例 2
输入
87.65F
输出
30.92C
TempStr = input("请输入带有符号的温度值:")
if TempStr[-1] in ['F', 'f']:
C = (eval(TempStr[0:-1]) - 32) / 1.8
print("转换后的温度是{:.2f}C".format(C))
elif TempStr[-1] in ["C", "c"]:
F = 1.8 * eval(TempStr[0:-1]) + 32
print("转换后的温度是{:.2f}F".format(F))
else:
print("输入格式错误")
注释所有行
请用程序实现
使用注释,使得下面所有的代码不在控制台显示。
print(‘我是第一行’)
print(‘我是第二行’)
print(‘我是第三行’)
print(‘我是第四行’)
print(‘我是第五行’)
#print('我是第一行')
#print('我是第二行')
#print('我是第三行')
#print('我是第四行')
#print('我是第五行')
使用变量
变量用来「保存」一些中间结果,这可以让复杂的计算变得简单,清晰。变量「保存」的数据实际存储在内存中。
变量有一个「名字」,要把数据「保存」到变量中,使用等于 = 符号,这过程称为「赋值」,下面一行代码将 12 保存到变量 cola_price 中:
cola_price = 12
接下来,你就可以使用 cola_price 变量进行计算。
注意:等于符号=,表示赋值,将右边的值赋给左边的变量,它并不像数学的等式一样,表示左边等于右边。
用100元去买可乐,最多能买多少瓶,及还剩多少钱。我们用程序来算一算,假设每瓶可乐 12 元。
cola_price = 12
# 计算 100 元能买多少瓶,并保存至变量 num 中
num = 100//cola_price
# 计算应找零多少,并保存到 remaining 中
remaining = cola_price - 100//cola_price
# 输出瓶数
print('能买',num, '瓶')
# 输出还剩多少钱
print('找零',remaining, '元')
打印数据类型
右侧编辑器中的代码功能是输出当前 num3 的数据类型,输出结果为:
<class ‘float’>
请使用 int() 函数将 num3 转换为 int 类型,使其输出结果为:
<class ‘int’>
num1 = 30
num2 = 7
num3 = num1/num2
# 在下面将 num3 转换成 int 类型,并使得最终输出是 <class 'int'>
num3 = int (num3)
print(type(num3))
回响
请用程序实现,从控制台读入一行内容,再把这行内容输出到控制台上,即输入什么就输出什么,称为回响
# 请实现回响功能,输入什么即输出什么
a = input(" ")
print(a)
存储MP3信息
请用程序实现
使用变量(括号内的单词)存储以下MP3信息(冒号后的信息):
品牌(brand):爱国者 F928
重量(weight):12.4
电池类型(types):内置锂电池
价格(price):499
请在右侧编辑器中编写代码,完成练习。
# 请将MP3信息保存到变量中
brand = "爱国者 F928"
weight = 12.4
types = "内置锂电池"
price = 499
print("品牌(brand):",brand)
print("重量(weight):",weight)
print("电池类型(types):",types)
print("价格(price):",price)
交换变量值
现在有两个变量num1=10和num2=20,如何能做到交换两个变量的值?
请用程序实现
将两个变量的值进行交换。
请在右侧编辑器中编写代码,完成练习。
num1 = int(input())
num2 = int(input())
# 请不要修改源代码最上面2行
# 请在下面交换 num1, num2 两个变量的值
a = num1
num1 = num2
num2 = a
print("",num1,num2)
计算BMI
标准体重是反映和衡量一个人健康状况的重要标志之一。过胖和过瘦都不利于健康,也不会给人以健美感。不同体型的大量统计材料表明,反映正常体重较理想和简单的指标,可用身高体重的关系来表示。
BMI指数,是用体重(千克)除以身高(米)的平方得出的数字,是国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。下图是有关BMI的分级表。
来计算一下 BMI 指数吧。
任务与要求
- 创建表示身高的变量 height 并赋值 1.8
- 创建表示体重的变量 weight 并赋值 81
- 创建表示BMI值的变量 bmi,使用变量weight 和 height 写出计算BMI的表达式,并将表达式赋给 bmi
- 将 bmi 的值打印输出
# 1.创建表示身高的变量 height 并赋值 1.8
height = 1.8
# 2.创建表示体重的变量 weight 并赋值 81
weight = 81
# 3.创建表示BMI值的变量 bmi 并计算
bmi = weight/(height*height)
# 4.将 bmi 打印输出
print(bmi)
还有一种是手动输入身高和体重,可进行多次计算:
height = float(input()) #输入身高
weight = float(input()) #输入体重
bmi = weight/(height*height) #计算
print("%.2f"%bmi) #保留两位小数
计算平均分
已知王浩同学的Java成绩为 100 分,Python成绩为 88 分,SQL成绩为 99 分。
请用程序实现
1.计算 Java 课和 SQL 课的分数之差(Java成绩减去SQL成绩),输出格式:“Java 和 Sql 的成绩差为:***”。
2. 计算这3 门课的平均分,输出格式:“三门课程的平均分为:***”。
请在右侧编辑器中编写代码,完成练习。
java = 100
python = 88
sql = 99
# 打印出 Java 和 Sql 的成绩差。
print("Java 和 Sql 的成绩差为:",java-sql)
# 打印出三门课程的平均分。
print("三门课程的平均分为:",(java+python+sql)/3)
计算器
请用程序实现
输入两个数 num1, num2,分别计算他们的和(summation)、差(difference)、积(product)、商(quotient),并将计算结果输出。
提示: 计算和时使用num1 + num2,计算差时使用num1 - num2,计算积时使用 num1 * num2,计算商时使用num1 / num2。
注意: 输出时所有数据均保留两位小数。
示例 1
输入(使用换行分隔多数据输入)
6.2
3
输出
和为:9.20
差为:3.20
积为:18.60
商为:2.07
示例 2
输入(使用换行分隔多数据输入)
5
25
输出
和为:30.00
差为:-20.00
积为:125
商为:0.20
# 请使用 input() 输入两个数 num1, num2
num1 = float(input())
num2 = float(input())
# 请分别计算 num1,num2 的和(summation)、差(difference)、积(product)、商(quotient),并将计算结果输出
summation = num1+num2
difference = num1-num2
product = num1*num2
quotient = num1/num2
print("和为:%.2f"%summation)
print("差为:%.2f"%difference)
print("积为:%.2f"%product)
print("商为:%.2f"%quotient)
输入身高体重并计算BMI
当前计算BMI的程序中 height, weight 都是固定值,请将程序更改为从键盘获取输入,再计算 BMI。
先输入身高(单位:米),然后输入体重(单位:公斤),然后再计算并输出 BMI 值。
在 Python 中,可以通过 input() 指令获取键盘输入的内容,直至遇到回车,下面的代码获取输入,并保存到变量 name 中:
name = input()
print(name)
提示用户输入时,可以添加一段提示文字,像这样:
age = input(‘请输入年龄:’)
print(name, ‘的年龄是:’, age)
# 请使用 input 获取键盘输入
height = float(input())
# 请使用 input 获取键盘输入
weight = float(input())
bmi = weight / (height ** 2)
print(bmi)
Hello World的条件输出
请用程序实现
获得用户输入的一个整数 num ,参考该整数值,打印输出"Hello World"。
要求如下:
(1) 如果输入值是 0,直接输出"Hello World"
(2) 如果输入值大于 0,以两个字符一行方式输出"Hello World"(空格也是字符)
(3) 如果输入值小于 0,以垂直方式输出"Hello World"
示例 1
输入
0
输出
Hello World
示例 2
输入
5
输出
He
ll
o
Wo
rl
d
示例 3
输入
-1
输出
H
e
l
l
oW
o
r
l
d
n = eval(input())
if n == 0:
print("Hello World")
elif n > 0:
print("He\nll\no \nWo\nrl\nd")
else:
for c in "Hello World":
print(c)
# 请使用 input() 输入一个整数 num
num=int(input(""))
str1="Hello World"
# 请对num进行判断
if num==0:
print(str1)
if num>0:
print(str1[:2])
print(str1[2:4])
print(str1[4:6])
print(str1[6:8])
print(str1[8:10])
print(str1[10:])
if num<0:
for each in str1:
print(each)
货币转换
人民币和美元是世界上通用的两种货币之一,人民币和美元间汇率固定为:1美元 = 7.00人民币。
请用程序实现
将用户输入的美元转换为人民币,或将输入的人民币转换为美元。
要求如下:
(1) 输入输出的人民币采用大写的 RMB 开头,金额可以是整数或小数,如:RMB123 指人民币123元;
(2) 输入输出的美元采用大写的 USD 开头,金额可以是整数或小数,如:USD20 指美元 20 元;
(3) 输出保留小数点后两位,方法为:print("%.2f" % a)。输入格式错误时,输出提示:输入格式错误;
(4) 使用 input() 获得输入时,不要增加提示字符串。
示例 1
输入
RMB123
输出
USD17.57
示例 2
输入
USD20
输出
RMB140.00
a = input("")
if a[0] in ['R','r']:
USD = eval(a[3:]) / 7
print("USD%.2f"%USD)
elif a[0] in ['U','u']:
RMB = 7 * eval(a[3:])
print("RMB%.2f"%RMB)
else:
print("输入格式错误")