【2023】某python语言程序设计跟学第一周内容
本文说明:
案例内容为北理工python语言程序设计课程,如有不妥请联系!
目录
- 温度转换案例:
- 执行结果:
- 代码解析:
- 白话说明:
- 举一反三:根据输入半径求圆周长或面积
- 执行结果:
温度转换案例:
# TempConvert.py
TempStr = input("请输入带有符号的温度值:")if TempStr[-1] in ['F', 'f']:C = (eval(TempStr[0:-1]) - 32)/1.8print("转换后的温度是{:.2f}C".format(C))
elif TempStr[-1] in ['C', 'c']:F = 1.8*eval(TempStr[0:-1]) + 32print("转换后的温度是{:.2f}F".format(F))
else:print("输入格式错误")
执行结果:
请输入带有符号的温度值:80F
转换后的温度是26.67C进程已结束,退出代码0
——————————————————————————————
请输入带有符号的温度值:27C
转换后的温度是80.60F进程已结束,退出代码0
代码解析:
-
代码高亮,对代码无影响
-
代码缩进,缩进使用空格,长度一般为4个空格
-
代码第一行,为注释,一句解释性文字(#开头代表单行注释)
- 以
''' '''开头和结尾的中间部分内容为多行注释
- 以
-
变量(TempStr、F、C),使用
=赋值,右边内容计算结果作为左边变量的值- 命名:大小写字母、数字、下划线、中文等字符及组合
- 注意:大小写敏感、首字符不能数字、不与保留字相同
- 保留字:编程语言内部定义并保留使用的标识符(33个)
- 以上代码(if、in、else、elif)均为保留字
-
数据类型:供计算机程序理解的数据形式
-
字符串:由一段单引号或双引号表示(“请输入带有符号的温度值:”、‘F’)均为字符串
-
字符串的序号:
正向递增序号和反向递减序号-12-11-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 请 输 入 带 有 符 号 的 温 度 值 : 0 1 2 3 4 5 6 7 8 9 10 11 -
使用
[]获取字符串中一个或多个字符- 索引:返回字符串中单个字符([-1])
- 切片:返回字符串中一段字符子串([1:3]或[0:-1])
-
数字类型:整数和浮点数都是数字类型
- 整数:数学中的整数,正数和负数(32)
- 浮点数:数学中的实数,带有小数部分(1.8)
-
列表类型:由0或多个数据组成的有序序列
- 列表使用由
[]表示,采用,分隔([‘F’, ‘f’]) - 使用
in判断一个元素是否在列表中 - 第四行:意为-1的字符是否是F或f,是为True,否为False
- 列表使用由
-
-
赋值语句:由赋值符号构成一行代码
- 用来给变量赋于新的数据值,右侧结果值赋给变量(第5、8行)
- 赋值语句右侧数据类型同时作用于变量(第2行)
-
语句与函数:
- 分支语句:由判断条件决定程序运行方向的语句
- 使用
if、elif、else构成条件判断分支结构 if后语句为Ture,执行:后语句(第4行)
- 使用
- 函数:根据输入的参数产生不同输出功能的过程(input、eval、print)
- 类似数学中函数(第11行)
- 函数采用方式使用(第五行)(
TempStr[0:-1]为参数)
- 分支语句:由判断条件决定程序运行方向的语句
-
输入与输出:
-
输入:
input从控制台获得用户输入的函数 -
输出:
print以字符形式向控制台输出结果的函数- 直接输出:
print()(第11行) - print()的格式化:(第6行),意为C的值取小数点后两位
- 直接输出:
-
evel():去掉参数最外侧引号并执行余下语句函数(第5行)
- 示例说明:
>>>eval("1") 1 >>>eval("1+2") 3 >>>eval('"1+2"') "1+2" >>>eval('print("hello")') hello
-
白话说明:
- 我输入了温度值为:80F
- 取字符[0:-1]为80(取值为结尾序号前一位)
- 根据公式计算:(80-32)/1.8=26.66666…
- 根据
{:.2f}C取值为小数点后两位四舍五入后为:26.67C - 符合执行结果中第一个示例
举一反三:根据输入半径求圆周长或面积
- 输入圆的半径,求圆的面积或周长:
print("请输入结尾带有C或S的圆的半径,C代表求周长,S代表求面积")
u_input = input("请输入结尾带有C或者S的数字:")if u_input[-1] in ['C', 'c']:C = (eval(u_input[0:-1]) * 2 * 3.14)print("圆的周长为:{:.2f}".format(C))
elif u_input[-1] in ['S', 's']:S = (eval(u_input[0:-1])**2 * 3.14)print("圆的面积为:{:.2f}".format(S))
else:print("您的输入格式错误,请修改!")
执行结果:
# 求面积
请输入结尾带有C或S的圆的半径,C代表求周长,S代表求面积
请输入结尾带有C或者S的数字:3s
圆的面积为:28.26求周长
请输入结尾带有C或S的圆的半径,C代表求周长,S代表求面积
请输入结尾带有C或者S的数字:15.3C
圆的周长为:96.08
相关文章:
【2023】某python语言程序设计跟学第一周内容
本文说明: 案例内容为北理工python语言程序设计课程,如有不妥请联系! 目录温度转换案例:执行结果:代码解析:白话说明:举一反三:根据输入半径求圆周长或面积执行结果:温度…...
C#学习记录——接口的实现
一小部分知识精英依旧直面核心困难,努力地进行深度钻研,生产内容;而大多数信息受众始终在享受轻度学习,消费内容。如果我们真的希望在时代潮流中占据一席之地,那就应该尽早抛弃轻松学习的幻想,锤炼深度学习…...
“ChatGPT之父”Sam Altman:我是如何成功的?
背靠微软,OpenAI能拳打谷歌,脚踢Meta,它背后的男人,必然不简单。 让我们来看一看,Sam Altman是如何一步步成长为今天这个搅动全世界的男人。 山姆奥特曼(Sam Altman) 成长和创业经历 在YC创始…...
jQuery发送Ajax请求的几种方式
概述JQuery发送ajax请求的方法有很多,其中最基本的方法是$.ajax,在其中封装的方法有 $.get, $post等。我们分别举了不同的示例。数据格式首先,浏览器与服务器之间传输数据所采用的格式,比较常见的有json,jsonp…...
Android实现连线题效果
效果图全部正确:有对有错:结果展示,纯黑色:支持图片:实现思路仔细分析可以发现,连线题的布局可以分为两部分,一个是左右两列矩形,另一个是他们之间的连线。每个矩形的宽高都一样&…...
以数据 见未来!首届未来数商大会成功举办
2月25日,2023未来数商大会在杭州未来科技城学术交流中心举办。大会发布了数商产业趋势研究报告,首次提出并探讨了完整的数商产业概念,并成立了未来数商联盟,开通了浙江大数据交易服务平台余杭专区。会上,杭州未来科技城…...
Java数据结构与算法——手撕LRULFU算法
LRU算法 力扣146:https://leetcode-cn.com/problems/lru-cache/ 讲解视频:https://www.bilibili.com/video/BV1Hy4y1B78T?p65&vd_source6f347f8ae76e7f507cf6d661537966e8 LRU是Least Recently Used的缩写,是一种常用的页面置换算法&…...
20230227英语学习
Can Clay Capture Carbon Dioxide? 低碳新思路:粘土也能吸收二氧化碳! The atmospheric level of carbon dioxide — a gas that is great at trapping heat, contributing to climate change — is almost double what it was prior to the Industria…...
校招前端高频react面试题合集
了解redux吗? redux 是一个应用数据流框架,主要解决了组件之间状态共享问题,原理是集中式管理,主要有三个核心方法:action store reduce 工作流程 view 调用store的dispatch 接受action传入的store,reduce…...
k8s node之间是如何通信的?
承接上文同一个node中pod之间如何通信?单一Pod上的容器是怎么共享网络命名空间的?每个node上的pod ip和cni0网桥ip和flannel ip都是在同一个网段10.1.71.x上。cni0网桥会把报文发送flannel这个网络设备上,flannel其实是node上的一个后台进程&…...
System V|共享内存基本通信框架搭建|【超详细的代码解释和注释】
前言 那么这里博主先安利一下一些干货满满的专栏啦! 手撕数据结构https://blog.csdn.net/yu_cblog/category_11490888.html?spm1001.2014.3001.5482这里包含了博主很多的数据结构学习上的总结,每一篇都是超级用心编写的,有兴趣的伙伴们都支…...
魔兽世界WoW注册网站搭建——-Liunx
问题背景哎 搭建了一个魔兽3.35(纯洁版)每当同学朋友要玩的时候我都直接worldserver上面打一个命令随之出现朋友的朋友也要玩想了想还是要有一个网站原本以为吧单机版里面网页的IP数据库改下可以了结果PHP报错了Unknown column sha_pass_hash in field l…...
OSG三维渲染引擎编程学习之六十八:“第六章:OSG场景工作机制” 之 “6.8 OSG内存管理”
目录 第六章 OSG场景工作机制 6.8 OSG内存管理 6.8.1 Referenced类 6.8.2 ref_ptr<>模板类 6.8.3 智能指针...
字节前端必会面试题(持续更新中)
事件传播机制(事件流) 冒泡和捕获 谈一谈HTTP数据传输 大概遇到的情况就分为定长数据 与 不定长数据的处理吧。 定长数据 对于定长的数据包而言,发送端在发送数据的过程中,需要设置Content-Length,来指明发送数据的长度。 当…...
内存数据库-4-[redis]在ubuntu中离线安装
Ubuntu20.04(linux)离线安装redis 官网redis下载地址 下载安装包redis-6.0.9.tar.gz。 1 下载安装 (1)解压 sudo tar -xzvf redis-6.0.9.tar.gz -C /usr/local/ cd /usr/local/redis-6.0.9/(2)编译 sudo make(3)测试 sudo dpkg -i libtcl8.6_8.6.10dfsg-1_amd64.deb sudo d…...
并非从0开始的c++ day8
并非从0开始的c day8结构体结构体嵌套二级指针练习结构体偏移量内存对齐内存对齐的原因如何内存对齐文件操作文件的概念流的概念文本流二进制流文件缓冲区文件打开关闭文件关闭fclose文件读写函数回顾按格式化读写文件文件读写注意事项结构体 结构体嵌套二级指针练习 需求&am…...
ubuntu下用i686-w64-mingw32交叉编译支持SDL、Openssl的ffmpeg库
前言 本篇博客是基于前两篇关于ffmpeg交叉编译下,进行再次编译操作。ubuntu下ffmpeg的交叉编译环境搭建可以参看以下我的这篇博客:https://blog.csdn.net/linyibin_123/article/details/108759367 ; ubuntu下交叉编译openssl及交叉编译支持o…...
对IDEA中断点Suspend 属性理解
suspend的类型分为 1、ALL:有线程进入该断点时,暂停所有线程 2、Thread:有线程进入该断点时,只暂停该线程 讨论下不同线程在同一时间段都遇到断点时,idea的处理方法。假如在执行时间上,thread1会先进入断…...
IM即时通讯开发如何解决大量离线消息导致客户端卡顿的
大部分做后端开发的朋友,都在开发接口。客户端或浏览器h5通过HTTP请求到我们后端的Controller接口,后端查数据库等返回JSON给客户端。大家都知道,HTTP协议有短连接、无状态、三次握手四次挥手等特点。而像游戏、实时通信等业务反而很不适合用…...
【软件测试】测试老鸟的迷途,进军高级自动化测试测试......
目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 很多从业几年的选手…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...
selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...
【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...
前端中slice和splic的区别
1. slice slice 用于从数组中提取一部分元素,返回一个新的数组。 特点: 不修改原数组:slice 不会改变原数组,而是返回一个新的数组。提取数组的部分:slice 会根据指定的开始索引和结束索引提取数组的一部分。不包含…...
Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?
Pod IP 的本质与特性 Pod IP 的定位 纯端点地址:Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址(如 10.244.1.2)无特殊名称:在 Kubernetes 中,它通常被称为 “Pod IP” 或 “容器 IP”生命周期:与 Pod …...
6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础
第三周 Day 3 🎯 今日目标 理解类(class)和对象(object)的关系学会定义类的属性、方法和构造函数(init)掌握对象的创建与使用初识封装、继承和多态的基本概念(预告) &a…...
ZYNQ学习记录FPGA(一)ZYNQ简介
一、知识准备 1.一些术语,缩写和概念: 1)ZYNQ全称:ZYNQ7000 All Pgrammable SoC 2)SoC:system on chips(片上系统),对比集成电路的SoB(system on board) 3)ARM:处理器…...
Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践
前言:本文将向开发者介绍一款创新性协作工具——Neko虚拟浏览器。在数字化协作场景中,跨地域的团队常需面对实时共享屏幕、协同编辑文档等需求。通过本指南,你将掌握在Ubuntu系统中使用容器化技术部署该工具的具体方案,并结合内网…...
