Python第一课

news2024/11/24 20:33:16

目录

实例1 圆面积的计算

实例2 同切圆绘制

实例3 五角星绘制

温度转换

缩进

注释

命名与保留字

语句与函数


为什么要学习计算机编程?因为“编程是件很有趣的事儿”!

编程很难学吗?掌握方法就很容易!

首先,掌握编程语言的语法,熟悉基本概念和逻辑

其次,结合计算问题思考程序结构,会使用编程套路

最后,参照案例多练习多实践,学会举一反三

实例1 圆面积的计算

IDLE交互式代码 

文件式代码

r = 25
s = 3.1415926 * r * r
print(s)
print("{:.2f}".format(s))

输出结果


实例2 同切圆绘制

 文件式代码

import turtle
turtle.pensize(2)
turtle.circle(10)
turtle.circle(40)
turtle.circle(80)
turtle.circle(160)

执行结果

实例3 五角星绘制

from turtle import *
color('red', 'red')
begin_fill()
for i in range(5):
    fd(200)
    rt(144)
end_fill()
done()

 虽然暂时看不懂代码是啥意思,但是大受震撼

温度转换

温度刻画的两种不同体系

摄氏度   中国等世界大多数国家使用

        以1标准大气压下水的结冰点为0度,沸点为100度,将温度继进行等分刻画

华氏度   美国、英国等国家使用

        以1标准大气压下水的结冰点为32度,沸点为212度,将温度进行等分刻画

设计算法

根据华氏和摄氏温度定义,转换公式如下:

C = (F - 32)/ 1.8

F = C * 1.8 + 32 

源码:

#TempConvert.py
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("输入格式错误")

用英文符号!!! 用英文符号!!!用英文符号!!!

输出结果: 

缩进

缩进表达程序的格式框架

  • 严格明确   缩进是语法的一部分,缩进不正确,程序运行错误
  • 所属关系   表达代码间包含和层次关系的唯一手段
  • 长度一致   程序内一致即可,一般用4个空格或1个TAB

并非程序都要使用4个空格或1个TAB,要求在单一程序内,缩进的长度是相同的!

注释

不被程序执行的辅助性说明内容

  • 单行注释   以#开头,其后内容为注释
  • 多行注释   以'''开头和结尾

命名与保留字

变量:程序中用于保存和表示数据的占位符号 

  • 变量采用标识符(名字)来表示,关联标识符的过程叫命名
    TempStr是变量名字
  • 可以使用等号(=)向变量赋值或修改值,=被称为赋值符号
    TempStr = "85F"  #向变量TempStr赋值"85F"

命名:关联标识符的过程

  • 命名规则:大小写字母、数字、下划线和汉字等自读及组合
    如:TempStr,Python_Great,这是门Python好课
  • 注意事项:大小写敏感、首字符不能是数字、不与保留字相同
    Python和python是不同变量,132Python是不合法的

保留字:被编程语言内部定义并保留使用的标识符

  • Python语言有33个保留字(也叫关键字)
    if  elif  else  in
  • 保留字是编程语言的基本单词,大小写敏感
    if是保留字,IF是变量 

26个标黑色的保留字是在Python基础语法体系中出现的

数据类型

10,011,101

  • 整数类型:        10011101
  • 字符串类型:     "10,011,101"
  • 列表类型:        [10,011,101]

字符串:由0个或多个字符组成的有序字符序列

  • 字符串由一对单引号或一对双引号表示
    "请输入带有符号的温度值:" 或者 'C'
  • 字符串是字符的有序序列,可以对其中的字符进行索引
    "请""请输入带有符号的温度值:" 的第0个字符

字符串的序号:正向递增序号 和 反向递减序号

字符串的使用:使用[]获取字符串中一个或多个字符

  • 索引:返回字符串中单个字符   <字符串>[M]
    "请输入带有符号的温度值:"[0]   或者   TempStr[-1]
  • 切片:返回字符串中一段字符子串   <字符串>[M:N]
    "请输入带有符号的温度值:"[1:3]   或者   TempStr[0:-1]

[1:3] 代表 取出其中的第一个和第二个字符,但不到第三个字符
TempStr[0:-1]表示从0开始,但不到字符串的最后一个字符的字符子串,相当于把最后一个字符去掉

列表类型:由0个或多个数据组成的有序序列

  • 列表使用[]表示,采用(,)分隔各元素
    ['f','F']表示两个元素'f'和'F'
  • 使用保留字in判断一个元素是否在列表中
    TempStr[-1] in ['C','c']判断前者是否与列表中某个元素相同    (字符串TempStr最后一个字符是不是大写C或小写c,如果是,结果返回真知true,否则返回false)

语句与函数

Python程序的输入输出

input

print

eval   评估函数

去掉参数最外侧引号并执行余下语句的函数

实例

eval("1")   =   1

eval("1+2")   =   3

eval(' "1+2" ')   =   '1+2'

eval('print("Hello")')   =   Hello

“温度转换”代码分析

#TempConvert.py
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("输入格式错误")

第一行是注释

第二行 由键盘输入的字符串保留在TempStr变量中

第三行  if分支语句 判断用户输入的最后一个字符,用保留字in判断最后一个字符是不是F或f

如果是F或f,就是输入华氏温度值,就进行对应温度转换操作

如果不是F或f,再判断最后一个字符是否是C或c ,执行对应温度转换操作

如果都不成立,就执行else后面的程序

C = (eval(TempStr[0:-1]) - 32)/1.8

第四行程序中的

eval(TempStr[0:-1]评估运算,是取出字符串(除了最后一位),如果输入85F,经过评估运算,变成85,参与后面的运算 即:85-32/1.8

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/377899.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PHY自协商

1. 自协商定义 自动协商模式是端口根据另一端设备的连接速度和双工模式&#xff0c;自动把它的速度调节到最高的公共水平&#xff0c;即线路两端能具有的最快速度和双工模式。 自协商功能允许一个网络设备能够将自己所支持的工作模式信息传达给网络上的对端&#xff0c;并接受对…

2.递归算法

递归算法的两个特点&#xff08;很重要&#xff09;调用自身要有结束条件void func1(int x) {printf("%d\n", x);func1(x - 1); }func1会一直死循环&#xff0c;没有使其结束的条件&#xff0c;所以不是递归void func2(int x) {if (x > 0){printf("%d\n"…

Big_Data

Linux 计算机硬件软件体系 冯 诺依曼体系结构 计算机处理的数据和指令一律用二进制数表示 顺序执行程序 计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部分组成计算机硬件组成 输入设备输入设备用来将人们熟悉的信息形式转换为机器能够识别的信息形式常见的…

做的国外网站如何让谷歌收录?Google不收录独立站怎么办?

本文主要分享如何让Google收录的外贸独立站&#xff0c;完美的解决你网站不被谷歌收录的难题。 本文由光算创作&#xff0c;有可能会被剽窃和修改&#xff0c;我们佛系对待这种行为吧。 Google不收录我的网站怎么办&#xff1f; 答案是&#xff1a;提交谷歌蜘蛛池或者建设GP…

[SSD综述 1.5] SSD固态硬盘参数图文解析_选购固态硬盘就像买衣服?

版权声明&#xff1a;付费作品&#xff0c;未经许可&#xff0c;不可转载前言SSD &#xff08;Solid State Drive&#xff09;&#xff0c;即固态硬盘&#xff0c;通常是一种以半导体闪存&#xff08;NAND Flash&#xff09;作为介质的存储设备。SSD 以半导体作为介质存储数据&…

【白皮书】关于Microsoft DCOM安全补丁KB5004442 (CVE-2021-26414) 对OPC Classic通信的影响及解决方案

本白皮书介绍了Microsoft DCOM安全补丁KB5004442 (CVE-2021-26414) 对现有的OPC Classic通信的影响&#xff0c;以及Softing提供的解决方案。 | 针对DCOM的Windows安全更新KB5004442 (CVE-2021-26414) 2021年6月8日&#xff0c;微软发布了针对DCOM的Windows安全更新KB5004442 …

数据合规可信计划暨国内首个数据合规标准发布!易观作为标准起草单位应邀参加

近日&#xff0c;由中国电子信息行业联合会主办的首届中国数据治理年会在北京召开&#xff0c;首届中国数据治理年会以“贯彻‘数据二十条’&#xff0c;做强做优做大我国数字经济”为主题&#xff0c;加快落实《“十四五”大数据产业发展规划》和工信部重点工作&#xff0c;进…

kafka全解

目录Kafka概述定义消息队列目录结构分析传统消息队列的应用场景消息队列的两种模式点对点模式发布/订阅模式Kafka基础架构Kafka快速入门安装部署集群规划集群部署集群启停脚本Kafka命令行操作Kafka基础架构主题命令行操作生产者命令行操作消费者命令行操作kafka可视化工具Kafka…

算法 # SimHash 算法:文本相似度、文本去重、海量文本快速查询

SimHash SimHash 是 Google 发明的海量网页去重的高效算法,将原始的文本映射为 64 位的二进制串,然后通过比较二进制的差异进而表示原始文本内容的差异。 传统的 Hash 算法只负责将原始内容尽量均匀随机地映射为一个 hash 值,原理上相当于伪随机数产生算法。SimHash 本身属…

javascript刷链表——链表基础知识、虚拟头节点操作链表及链表基本操作

javascript刷链表1javascript刷链表11.链表基础知识2.虚拟头节点操作链表力扣&#xff1a;203.移除链表元素3.链表基本操作力扣&#xff1a;707. 设计链表javascript刷链表1 今天开始刷链表&#xff0c;冲冲冲~ 1.链表基础知识 链表是一种通过指针串联在一起的一种线性结构&…

STM32之中断和事件

中断和事件什么是中断当CPU正在执行程序时&#xff0c;由于发生了某种事件&#xff0c;要求CPU暂时中断当前的程序执行&#xff0c;转而去处理这个随机事件&#xff0c;处理完以后&#xff0c;再回到原来被中断的地方&#xff0c;继续原来的程序执行&#xff0c;这样的过程称为…

TDengine创建database报错 DB error: Out of dnodes (0.000000s)

TDengine 创建数据库报错 CREATE DATABASE power KEEP 365 DURATION 10 BUFFER 16 WAL_LEVEL 1; DB error: Out of dnodes (0.000000s)这个错误提示表明 TDengine 的数据节点已经用完&#xff0c;无法继续创建新的数据库。这可能是由于您的 TDengine 数据库中已经存在了大量的…

阶段十:总结专题(第五章:数据库篇)

阶段十&#xff1a;总结专题&#xff08;第五章&#xff1a;数据库篇 &#xff09;Day-第五章&#xff1a;数据库篇1. 隔离级别1.1、**未提交读**&#xff08;不使用&#xff09;1.2、**提交读&#xff08;RC&#xff09;**&#xff08;经常使用&#xff09;1.3、**可重复读&am…

RDO一体化部署OpenStack

RDO一体化部署OpenStack 环境准备 安装centos7 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J785hZvT-1677578418769)(C:\Users\HONOR\AppData\Roaming\Typora\typora-user-images\image-20230228171254675.png)] 使用vmware安装安装centos7&a…

【Django功能开发】如何正确使用定时任务(启动、停止)

系列文章目录 【Django开发入门】ORM的增删改查和批量操作 【Django功能开发】编写自定义manage命令 文章目录系列文章目录前言一、django定时任务二、django-apscheduler基本使用1.安装django-apscheduler2.配置settings.py的INSTALLED_APPS3.通过命令生成定时记录表3.如何创…

MySQL索引类型(type)分析

type索引类型 system > const > eq_ref > ref > range > index > all 优化级别从左往右递减&#xff0c;没有索引的⼀般为’all’。推荐优化目标&#xff1a;至少要达到 range 级别&#xff0c; 要求是 ref 级别&#xff0c; 如果可以是 const 最好&#xff…

线程池源码和CompletableFuture使用总结

线程池 线程池的创建方式 通过Executors的静态方法通过 new ThreadPoolExecutor方式创建 七大参数的作用 参数作用corePoolSize核心线程数&#xff0c;线程池创建好后就准备就绪的线程数量&#xff0c;一直存在maximumPoolSize最大线程数量&#xff0c;控制资源keepAliveTim…

嵌入式 linux 系统开发网络的设置

目录 一、前言 二、linux网络静态地址设置 前言 为什么要对linux系统下的ubuntu进行网络设置呢&#xff1f; 因为我们在嵌入式开发中&#xff0c;我们要保证windows系统、linux系统、开发板的ip要处于同一个网段&#xff0c;而默认ubuntu下的linux系统的ip是动态分配的&#…

ACM-蓝桥杯训练第一周

&#x1f680;write in front&#x1f680; &#x1f4dd;个人主页&#xff1a;认真写博客的夏目浅石.CSDN &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd;​ &#x1f4e3;系列专栏&#xff1a;ACM周训练题目合集.CSDN &#x1f4ac;总结&#xff1a…

debian 部署nginx https

我是flask 处理请求单进程&#xff0c; 差点意思 &#xff0c; 考虑先flask 在往下走 一&#xff1a;安装nginx 因为我是debian 系统&#xff0c;所以我的建议是直接 sudo apt-get install nginx 你也可以选择在官网下载&#xff0c; 但是我搭建ssl 的时候安装openssl非常的麻…