当前位置: 首页 > news >正文

pt01数据类型、语句选择

python01

pycharm常用快捷键

(1) 移动到本行开头:home键
(2) 移动到本行末尾:end键盘
(3) 注释代码:ctrl + /
(4) 复制行:ctrl +d    #光标放行上
(5) 删除行:shift + delete
(6) 选择列:shift + alt +鼠标左键     #多列操作
(7) 移动行:ctrl + shift + 上下箭头
(8) 代码格式化:ctrl+alt+l
(9) 关闭左侧项目菜单栏: alt+1
(10) tab 缩进,shift+tab反缩进
(11) 选中,shift+F6 批量修改字段
(12) 跳转函数 ctrl + 鼠标左键  
(13) ctrl 加 shift 加 -/+   收起/展开所有函数
(14) ctrl 加 -/+   收起/展开光标所在函数

数据类型

在python中变量没有类型,但关联的对象有类型。

整形int     表示整数,包含正数、负数、0。   		
num01 = 10浮点型float  表示小数,包含正数、负数,0.0			
num01 = 1.23字符串str  用来记录文本信息(文字信息)。
name1="tom"布尔bool   用来表示真和假的类型  
True 表示真,本质是1   False 表示假,本质是0

变量

(1) 定义:关联一个对象的标识符。
(2) 命名:必须是字母或下划线开头,后跟字母、数字、下划线。不能使用关键字
(3) 建议命名:字母小写,多个单词以下划线隔开。
name1="tom"
name2=name1
del name1	   //删除语句,解除与对象的关联,当关联为0时被销毁
print (name2) 
tom

类型转换&运算

从终端中获取的数据类型都是str,如需要进行运算,需要类型转换。结果 = 目标类型(待转换数据)

(1) 转换为整形: int(数据)
(2) 转换为浮点型: float(数据)
(3) 转换为字符串: str(数据)
(4) 转换为布尔: bool(数据)    结果为Falsebool(0) bool(0.0) bool(None)
(5) 混合类型自动升级:1 + 2.14 返回的结果是 3.141 + 3.0 返回结果是: 4.0
# 注意:字符串转换为其他类型时, 必须是目标类型的字符串表达形式 
# print(int("10.5")) # 报错    字符串10同整数样式,转整形
# print(float("abc"))# 报错    abc不是浮点样式,转不了
单行注释:以#号开头。
多行注释:三引号开头,三引号结尾。
"""练习:在终端中输入商品单价、购买的数量和支付金额。计算应该找回多少钱。效果:请输入商品单价:5请输入购买数量:3请输入支付金额:20应找回:5.0
"""
# 1. 获取数据
unit_price = float(input("请输入商品单价:"))
purchase_quantity = int(input("请输入购买数量:"))
pay_money = float(input("请输入支付金额:"))
# 2. 逻辑计算
result = pay_money - unit_price * purchase_quantity
# 3. 显示结果
print("应找回:" + str(result))

算术运算符

+ 加法	- 减法	* 乘法	/ 除法:结果为浮点数			
// 整除:除的结果去掉小数部分	% 求余	** 幂运算
优先级从高到低: (), ** , * / % // ,  + -

增强运算符

+=  -= *= /= //= ...
y += x 相当于 y = y + x
y -= x 相当于 y = y - x
y *= x 相当于 y = y * x

练习

"""练习1:在终端中输入一个疫情确诊人数再录入一个治愈人数,打印治愈比例格式:治愈比例为xx%效果:请输入确诊人数:500请输入治愈人数:495治愈比例为99.0%
"""
number_of_confirmed = int(input("请输入确诊人数:"))
number_of_cure = int(input("请输入治愈人数:"))
cure_ratio = number_of_cure / number_of_confirmed * 100
print("治愈比例为" + str(cure_ratio) + "%")"""练习2:古代的秤,一斤十六两。在终端中获取两,计算几斤零几两。
"""
total_liang = int(input("请输入总两数:"))
jin = total_liang // 16
liang = total_liang % 16
print("结果为:" + str(jin) + "斤" + str(liang) + "两")"""
匀变速直线运动的速度与位移公式:
位移 = 初速度 × 时间 + 加速度 * 时间的平方 / 2
已知(在终端中录入):位移、时间、初速度
计算:加速度
效果:
请输入距离:100
请输入初速度:6
请输入时间:10
加速度是:0.8
"""
s = float(input("请输入距离:"))
v0 = float(input("请输入初速度:"))
t = float(input("请输入时间:"))
a = (s - v0 * t) * 2 / t ** 2
print("加速度是:" + str(a))"""练习:在终端中输入一个四位整数,计算每位相加和。例如:录入1234,打印1+2+3+4结果效果:请输入四位整数:1234结果是:10
"""
number = int(input("请输入四位整数:"))  # 1234
# unit01 = number % 10  # 个位
# # 1234 // 10 --> 123 % 10
# unit02 = number // 10 % 10  # 十位
# # 1234 // 100 --> 12 % 10
# unit03 = number // 100 % 10  # 百位
# unit04 = number // 1000  # 千位
# result = unit01 + unit02 + unit03 + unit04
# print("结果是:" + str(result))result = number % 10
result += number // 10 % 10
result += number // 100 % 10
result += number // 1000
print("结果是:" + str(result))

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N1sE4xrj-1680706027012)(picture\1652881744(1)].png)

"""根据工资计算个人社保缴纳费用步骤:在终端中录入工资,根据公式计算,显示缴纳费用公式:养老保险8% + 医疗保险2% + 3元 + 失业保险0.2% + 公积金12%
"""
salary_before_tax = float(input("请输入税前工资:"))
social_insurance = salary_before_tax * (0.08 + 0.02 + 0.002 + 0.12) + 3
print("个人需要缴纳社保费用:" + str(social_insurance))

比较运算符

< 小于		 <= 小于等于		> 大于
>= 大于等于		 == 等于		 != 不等于

返回布尔类型的值

result = input("请输入您的职业:") == "老师" 
print(result) 	# 输入老师,结果True;	输入其他,结果False
print(666 == "666") 
print(27 % 10 == 2) 
print(float(input("请输入你的身高:")) > 170)

逻辑运算符

"""逻辑运算符判断命题之间关系与and:表示并且,2个条件同时满足或or:表示或者,1个条件满足即可非not:表示取反
"""
# 来自于丈母娘的灵魂质问:
# 有钱 and  有房
# print(int(input("请输入存款:")) >= 1000000 and int(input("请输入房产数量:")) > 0)# 有钱 or  有房
print(int(input("请输入存款:")) >= 1000000 or int(input("请输入房产数量:")) > 0)# 取反
print(not True) 
False

选择语句

if else 语句

(1) 作用: 让程序根据条件有选择性的执行语句。

if 条件1: 语句块1 
elif 条件2: 语句块2 
else:语句块3//elif 子句可以有0个或多个。else 子句可以有0个或1个,且只能放在if语句的最后
sex = input("请输入性别:")
# 以下代码,如果前面条件满足,后面条件不执行
if sex == "男":print("您好,先生")
elif sex == "女":print("您好,女士")
else:print("性别未知")
"""练习3:在终端中输入课程阶段数,显示课程名称输入:        输出:1         Python语言核心编程2         Python高级软件技术3         Web 全栈4         项目实战5         数据分析、人工智能
"""
number = input("请输入数字:")
if number == "1":print("Python语言核心编程")
elif number == "2":print("Python高级软件技术")
elif number == "3":print("Web 全栈")
elif number == "4":print("项目实战")
elif number == "5":print("数据分析、人工智能")

上面的if…elif存在逻辑关系,下面看没有关系的多个if。调试观察区别

找极值
"""练习3:在终端中录入4个同学身高,打印最高的值.算法:170 160 180 165假设第一个就是最大值,拿假设的依次跟后面的对比使用假设的和第二个进行比较, 发现更大的就替换假设的使用假设的和第三个进行比较, 发现更大的就替换假设的使用假设的和第四个进行比较, 发现更大的就替换假设的最后,假设的就是最大的.
"""
height01 = int(input("请输入第1个同学身高:"))
height02 = int(input("请输入第2个同学身高:"))
height03 = int(input("请输入第3个同学身高:"))
height04 = int(input("请输入第4个同学身高:"))
max_value = height01
if max_value < height02:max_value = height02
if max_value < height03:  # 前2个最大值与第三个变量比较max_value = height03
if max_value < height04:  # 前3个最大值与第四个变量比max_value = height04
print("最高的是:" + str(max_value))
变量交换
方式一:通用方法
bridegroom_name ="武大郎"
bride_name =“潘金莲"
temp = bridegroom_name
bridegroom_name = bride_name
bride_name = temp
方式二
a,b = b,a  交换变量print ( "交换后的新郎∶" + bridegroom_name)
print ( "交换后的新娘∶"+ bride name)
"""练习5:根据心理年龄与实际年龄,打印智商等级。智商IQ = 心理年龄MA 除以 实际年龄CA 乘以 100天才:140以上(包含)超常:120-139之间(包含)聪慧:110-119之间(包含)正常:90-109之间(包含)迟钝:80-89之间(包含)低能:80以下
"""
ma = int(input("请输入心理年龄:"))
ca = int(input("请输入实际年龄:"))
iq = ma / ca * 100
# 连续区间的判断:只需要判断单边
if iq >= 140:print("天才")
elif iq >= 120:print("超常")
elif iq >= 110:print("聪慧")
elif iq >= 90:print("正常")
elif iq >= 80:print("迟钝")
else:print("低能")
"""根据年龄,输出对应的人生阶段。年龄       ⼈⽣阶段0-6 岁      童年7-17 岁     少年18-40 岁    ⻘年41-65 岁    中年65 岁之后    ⽼年步骤:终端中获取年龄,            显示人生阶段
"""
age = int(input("请输入年龄:"))if age <= 6:print("童年")
elif age <= 17:  # 程序能执行到本行,说明age一定大于6print("少年")
elif age <= 40:print("青年")
elif age <= 65:print("中年")
else:print("老年")
"""练习6:在终端中输入月份,打印相应的天数.1 3 5 7 8 10 12 有 31天2 有 29天4 6 9 11 有 30天超过月份提示月份有误
"""
month = int(input("请输入月份:"))
if 1 <= month <= 12:if month == 2:print("29天")elif month == 4 or month == 6 or month == 9 or month == 11:print("30天")else:print("31天")
else:print("月份有误")
if 真值表达式
bool 转换 : int 0  , fload  0.0str 空 为false
//以下输出均为false
print(bool(0))
print(bool(0.0))
print(bool())
content = input("输入:")
if content:print("输入的是:"+content)
条件表达式
value = 1 if input("请输入性别:") == "男"  else  value = 0

根据条件为变量赋值,且为同一变量value

//简化下面的书写
if input("请输入性别:") == "男":value = 1
else:value = 0
"""电梯设置规定:如果承载⼈不超过10⼈,且总重量不超过1000千克,可以正常使⽤,否则提示超载。步骤:终端中获取人数/总重量显示电梯正常运行电梯超载
"""num = int(input("请输入电梯承载人数:"))
weight = float(input("请输入电梯承载重量:"))
if num <= 10 and weight <= 1000:print("电梯正常运行")
else:print("电梯超载")

while循环语句

作用: 可以让一段代码满足条件,重复执行。

while 条件: # 满足条件执行的语句....
'''下面else可省略,使用较少'''
else:....
while True:     循环体if  条件:break
死循环
"""让下列代码重复执行,输入y继续(不输入y则退出)
"""
while True:number = int(input("请输入数字:"))if number > 0:print("正数")elif number < 0:print("负数")else:print("零")if input("输入y继续") != "y":break
循环计数
"""while 循环计数三要素:  开始,结束,间隔
"""
# print("跑圈")
# print("跑圈")
# print("跑圈")
# print("跑圈")
# print("跑圈")count =0	'''开始'''
while count < 5:   '''结束'''print(count) # 0 1 2 3 4count += 1    '''间隔'''
#     在终端中显示0 1 2 3
#     在终端中显示2 3 4 5 6
#     在终端中显示1 3 5 7
#     在终端中显示8 7 6 5 4
#     在终端中显示-1 -2 -3 -4 -5
count = 0
while count < 4:print(count)count += 1count = 2
while count < 7:print(count)count += 1count = 1
while count < 8:print(count)count += 2count = 8
while count > 3:print(count)count -= 1count = -1
while count > -6:print(count)count -= 1
练习4:
一张纸的厚度是0.01毫米
请计算,对折多少次超过珠穆朗玛峰(8844.43)
思路:
数据:厚度、高度、次数
算法:厚度*=2 次数+=1thickness = 1e-5
count = 0
while thickness < 8844.43:thickness*=2count+=1
print("对折"+str(count))
在终端中循环录入5个成绩,最后打印平均成绩(总成绩除以人数)
count =0
sum_score = 0
while count < 5:sum_score += int(input("请输入成绩:"))count += 1
print("平均分:"+str(sum_score / 5))
"""程序产生1个,1到100之间的随机数。让玩家重复猜测,直到猜对为止。每次提示:大了、小了、恭喜猜对了,总共猜了多少次。
"""
# 1. 准备随机数工具
import random# 2. 产生随机数
random_number = random.randint(1, 100)
count = 0
while True:count += 1input_number = int(input("请猜数字:"))if input_number > random_number:print("大了")elif input_number < random_number:print("小了")else:print("恭喜猜对了,总共猜了" + str(count) + "次")break
#猜三次结束
import random
random_number = random.randint(1, 100)
count = 0
while count < 3:count += 1input_number = int(input("请猜数字:"))if input_number > random_number:print("大了")elif input_number < random_number:print("小了")else:print("恭喜猜对了,总共猜了" + str(count) + "次")break
else:print("Game Over")

for 语句

用来遍历可迭代对象的数据元素。可迭代对象是指能依次获取数据元素的对象,例如:容器类型。

else子句可以省略。 在循环体内用break终止循环时,else子句不执行

for 变量列表 in 可迭代对象: 语句块1
在终端中输入任意整数,计算累加和
number = input("请输入数字:") 
sum_value = 0
for item in number:sum_value += int(item)
print(sum_value)
循环计数
"""for 循环计数
"""
# 写法1:
# for 变量 in range(开始,结束,间隔):
# 注意:不包含结束值
for item in range(1, 5, 1):print(item) # 1~4# 写法2:
# for 变量 in range(开始,结束):
# 注意:间隔默认为1
for item in range(1, 5):print(item) # 1~4# 写法3:
# for 变量 in range(结束):
# 注意:开始默认为0
for item in range(5):print(item)
跳转语句continue break

对for while循环语句进行跳出,continue跳出本次循环,break跳出循环

"""跳转语句
"""
# 需求:累加1--100之间整数
# 条件:能被3整除
# 思路1:满足条件则执行
# if 条件1:
#   if 条件2:
#       if 条件3:
#           功能
sum_value = 0
for number in range(1, 101):if number % 3 == 0:sum_value += number
print(sum_value)
# 思路2:不满足条件则跳过,否则执行
# if 不满足条件1:
#   continue
# if 不满足条件2:
#   break
# if 不满足条件3:
#   continue
# 功能
sum_value = 0
for number in range(1, 101):if number % 3 != 0:continue  # 跳(后面代码不执行)过本次循环,继续下次循环# break# 跳(后面代码不执行)出整个循环体sum_value += number
print(sum_value)
"""练习:累加10 -- 60之间,个位不是3/5/8的整数和。
"""
sum_value = 0
for number in range(10, 61):unit = number % 10if unit == 3 or unit == 5 or unit == 8:continuesum_value += number
print(sum_value)
//一定要调试看程序的运行流程,试着将continue改成break,观察调试

流程控制语句总结

        选择语句:让语句根据条件有选择性的执行if 条件:满足条件执行的语句else:不满足条件执行的代码循环语句:让语句重复执行-- 延长程序生命while True:循环体if 退出条件:break-- 根据条件重复(厚度不超过珠穆朗玛峰则对折)while 条件:循环体-- 根据次数重复(累加1-100之间数字)for 变量 in range(开始,结束,间隔):跳转语句:在循环中,让程序跳转到其他语句。break:跳出(结束循环)continue:跳过(下次循环)

in range(10, 61):
unit = number % 10
if unit == 3 or unit == 5 or unit == 8:
continue
sum_value += number
print(sum_value)
//一定要调试看程序的运行流程,试着将continue改成break,观察调试


### 流程控制语句总结```python选择语句:让语句根据条件有选择性的执行if 条件:满足条件执行的语句else:不满足条件执行的代码循环语句:让语句重复执行-- 延长程序生命while True:循环体if 退出条件:break-- 根据条件重复(厚度不超过珠穆朗玛峰则对折)while 条件:循环体-- 根据次数重复(累加1-100之间数字)for 变量 in range(开始,结束,间隔):跳转语句:在循环中,让程序跳转到其他语句。break:跳出(结束循环)continue:跳过(下次循环)
http://www.lryc.cn/news/56249.html

相关文章:

  • ChatGPT 存在很大的隐私问题
  • 图的迭代深度优先遍历
  • 华为OD机试-开放日活动-2022Q4 A卷-Py/Java/JS
  • 两亲性聚合物:Lauric acid PEG Maleimide,Mal-PEG-Lauric acid,月桂酸PEG马来酰亚胺,试剂知识分享
  • FB使用入口点函数例子
  • 学习周报4/9
  • 49天精通Java,第14天,Java泛型方法的定义和使用
  • 20230402英语学习
  • Java知识复习(十七)SpringCloud
  • MySQL 数据库操作
  • Cesium更换地球背景
  • 测试人员的瓶颈期
  • HTML5 <form> 标签
  • 编译技术-词法理论
  • 【20】核心易中期刊推荐——计算机科学电子通信(EI索引)
  • Vue 3.0 风格指南 2
  • ChatGPT遭多国调查,OpenAI凌晨就安全问题发文,GPT-5要暂缓?
  • 网络安全书籍推荐
  • 【独家】华为OD机试 - 狼羊过河 or 羊、狼、农夫过河(C 语言解题)
  • 东八区的 springboot 如何配置序列化
  • 论文阅读_LLaMA
  • 腾讯空降测试工程师,绩效次次拿S,真是砂纸擦屁股,给我露了一手啊
  • 真题详解(计算机总线)-软件设计(四十五)
  • 剪格子
  • 【Nowcoder-BC146.添加逗号 -OR63.删除公共字符】
  • 能自动摊铺施工的公路滑模机多少钱一台
  • ChatGPT热潮下,因生成式AI失业的人出现,我成了第一批失业的人
  • TypeScript01-基础知识
  • 【Redis学习】Redis安装配置
  • leetcode160:相交链表