Python基础——变量、运算符、判断

目录

变量

变量的命名

变量的类型

变量计算

变量的输入输出

运算符

算术运算符

比较运算符

逻辑运算符

赋值运算符

if 判断

单分支

双分支

多分支

if 嵌套 

随机数


变量

        变量是在计算机语言中可变的量,在使用前必须赋值,使用“=”来赋值,=左边是变量名,=右边是存储在变量中的值,语法:变量名=值

# 定义一个变量名name,值为字符串“肖战”
name = "肖战"
# 定义一个变量名age,值为30
age = 30
# print中为变量名,则输出变量的值
print("演员"name,age"岁了")

        在编写代码时,通常要使用到注释,有单行注释和多行注释,语法: 

#单行注释 
# ctrl+/:快速注释一行代码

'''多行注释 
   多行注释 
''' 
"""多行注释
   多行注释 
"""

        交换两个变量的值:

a = 10
b = 20
c = a #c:10
a = b #a:20
b = c #b:10
print(a,b)# 如果一个print输出两个变量的值,两个变量要用,隔开

变量的命名

标识符

  • 可由字母、下划线、数字组成 (fromNo12、my_Boolean、Obj2、mylnt)√
  • 不能以数字开头 (  2ndObj)×
  • 不能用纯数字 (17)×
  • 不能是括号以及各种特殊符号(fromno(13)、my-Boolean) ×
  • 不能与关键字重名(True、False)×
  • 一般不用中文

关键字

#查看python中的关键字
import keyword #导入包
print(keyword.kwlist)
'''
python中的关键字:
        False、None、True、and、as、assert、async、await、break、class、continue、def、
del、elif、else、except、finally、for、from、global、if、import、in、is、lambda、
nonlocal、not、or、pass、raise、return、try、while、with、yield
'''

变量的命名规则

        pyhton中的标识符是区分大小写的,Andy ≠ andy。如果变量名用多个单词组成(命名习惯如下):

        ① 每个单词都使用小写字母;

        ② 单词与单词之间使用_下划线连接;

        ③ 变量名不会所有字母都大写

例:

        一般:first_name、last_name

        小驼峰式命名:fisrtName、lastName(只有第二个单词首字母大写)

        大驼峰式命名:FirstName、LastName(每个单词的首字母都大写)

变量的类型

数字型

  • 整型:int
  • 浮点型:float
  • 布尔型:bool(True真、False假)
  • 复数型:complex(主要用于科学计算,如平面场问题、波动问题、电感电容等问题)

非数字型

  • 字符串:str(string)
  • 列表:list
  • 元组:tuple
  • 集合:set
  • 字典:dict(dictionary)

None:代表具体类型待定,不确定具体类型(空)

'''
例:
    姓名:肖战
    年龄:30岁
    性别:男
    身高:183.6米
    是否为学生:否(False)
'''
name = "肖战"#str
age = 32 #int
sex = "男"#str
height = 183.6 #float
isStudent = False #bool
print(name,age,sex,height,isStudent)
# 变量赋值的时候,=右边是什么数据类型,变量就是什么数据类型

 一个数字如果用引号引起来,就是字符串而不是数字:

a = 10 #数字10
b = "10" #字符串,一个字符串是1,一个字符串是0

不同类型转化 

  • 转化为字符串:str(要转化的变量或值)
  • 转化为整数:int(要转化的变量或值) 
  • 转化为浮点数:float(要转化的变量或值)

例1:a = "123",b = 456

        把a转化成字符串和b相加,输出123456

        把b转化成整型和a相加

a = "123"
b = 456
print(a + str(b))
print(int(a) + b)

 例2:把一个float类型的小数点去掉只保留整数

f = 3.5
print(int(f))#只要把一个浮点数用int()转化为一个整数,小数点就会去掉

例3:把一个float类型小数点去掉,四舍五入后保留整数。

         任意两个数字/,结果+0.5,只保留整数位,就是对一个小数四舍五入取整的结果。

a = 5
b = 2
print(a / b)
print(int(a / b))#不四舍五入
print(int(a / b + 0.5))#四舍五入

变量计算

1、数字型变量可以直接用运算符计算,True代表1,False代表0

i = 10
f = 10.5
b1 = True
print(i + f)
print(i + b1)
print(f + b1)

  例:超市买苹果,苹果的价格是8.5元/斤,买了7.5斤苹果,计算付款金额。

price = 8.5
weight = 7.5
money = price * weight
print(money)

        如果买10斤,就反5元,计算付款金额

price1 = 8.5
weight1 = 10
money1 = price1 * weight1
money1 = money1 - 5 # 变量定义之后,再=赋值,只是改变变量的值
print(money1)

2、字符串计算:① 字符串可以使用 + 拼接;

                           ② 字符串可以和整数 *;

                           ③ 字符串和字符串、字符串和数字不能 - / 

str1 = "你好"
str2 = "肖战"
str3 = str1 + str2
str4 = str2 * 5
print(str3,str4)

3、不同类型变量计算

a = True
b = False
c = "你好"
d = 3.14
e = 5
print(a + b)
# print(c + d) 不能直接相加
print(c * e)
print(d * b)

变量的输入输出

        input函数可以实现用户从键盘输入变量的值,变量 = input("提示信息:")

name = input("请输入姓名:") #当代码执行到input就停止,等待用户通过键盘输入
print(name)# 如果用户通过键盘输入了 肖战,name的值就是 肖战

age = input("请输入年龄:")
print(age)# 如果用户输入的是32,实际是字符串“32”

        input输入的任何值(包括数字)都是字符串。如果用户需要输入数字,可以通过类型转换函数将类型转化为数字,只要把input输入的结果用数据类型转化的方式int(),float()即可。

# 方法一:
a = input("请输入第一个数字:")
b = input("请输入第二个数字:")
print(int(a) + int(b))

# 方法二:
a = int(input("请输入第一个数字:"))
b = int(input("请输入第二个数字:"))
print(a + b)

  例: 收银员输入苹果的价格,单位:元/斤

          收银员输入用户购买苹果的重量,单位:斤

          计算并输出付款金额

price = float(input("请输入苹果的价格:"))
weight = float(input("请输入用户购买苹果的重量:"))
print(price * weight)

        print函数默认会输出一个回车换行,有多条print函数则会在多行输出。

        使用end=""可以将多条print输出到一行,去掉默认的回车换行:print("要输出的字符串",end="") 

print("hello")#print在输出之后,会自动添加一个回车换行
print("肖战")

print("hello",end="")#print输出之后,不会自动添加回车换行
print("肖战")

转义字符

        有些字符不方便通过键盘直接输入,会用到转义字符:

print("我\t你")#tab横向制表符
print("我\n你")#enter换行

        要输出 \,需要写\\

        要输出 ",需要写 \"

        要输出 ',需要写 \'

        要输出 \n,需要在字符串外加 r:print(r"我\n你")

print("我\\你")
print("我\"你")
print("我\'你")
print(r"我\n你")#如果在字符串外加r,代表字符串不转义

格式化输出

格式化操作符:%

        在Python字符串中如果有%,就叫格式化字符串。%可以把字符串和字符串以及数字和其他类型通过print拼接成一个字符串显示出来。

  • %s:格式化字符串
  • %d:格式化整数
  • %06:输出6位整数,不足用0补全
  • %f:格式化浮点数,%.2f表示只显示小数点后两位(%f默认6位小数)
  • 要输出%,需写%%

语法:

print("格式化字符串"% 变量1)
print("格式化字符串"%(变量1,变量2...))#前面有几个%,后面就有几个变量

name = "肖战"
age = 32
print("姓名:%s,年龄%d岁" %(name,age))


f = 3.14
str1 = "圆周率是"
print("%s%f" %(str1,f))
print("%s%.2f" %(str1,f))

例1: 格式化字符串,输出名片。在控制台依次提示用户输入:公司、姓名、电话、邮箱,输出结果:
        *********************
        公司名称:仲夏之月
        姓名:肖战
        电话:19911005
        邮箱:zhan.xiao@xz.com
        *********************

company = input("请输入公司名称:")
name = input("请输入姓名:")
tel = input("请输入电话号码:")
mail = input("请输入邮箱:")

print("*" * 20)
print("公司名称:%s" % company)
print("姓名:%s" % name)
print("电话:%s" % tel)
print("邮箱:%s" % mail)
print("*" * 20)

例2:格式化输出

  1. 定义字符串变量 name = "肖战",输出:我的名字叫肖战,请多多关照!
  2. 定义整数变量 num = 1,输出:我的工号是000001
  3. 定义小数 price = 8.5、weight= 5,输出:苹果单价8.5元/斤,购买了5.00斤,需要支付42.5元
  4. 定义一个小数 scale = 10.01,输出:数据是10.01% 
name1 = "肖战"
print("我的名字叫%s,请多多关照!" % name1)

num = 1
print("我的工号是%06d" % num)

price = 8.5
weight = 5
print("苹果单价%.1f元/斤,购买了%.2f斤,需要支付%.1f元" % (price,weight,price * weight))

scale = 10.01
print("数据是%.2f%%" % scale)

运算符

算术运算符

+
-
*
/
//整除
%取余
**

优先级:**最高,* / // %中间,+ -最低

比较运算符

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

逻辑运算符

and(与)条件1 and 条件2
两个条件同事满足,返回True
只要有一个不满足,就返回False
or(或)

条件1 or 条件2

两个条件只要有一个满足,返回True

两个条件都不满足,返回False

not(非)not 条件,条件求反

赋值运算符

=c = a + b 的运算结果赋值为c
+=c += a   等效于   c = c + a
-=c -= a   等效于   c = c - a
*=c *= a   等效于   c = c * a
/=c /= a   等效于   c = c / a
//=c //= a   等效于   c = c // a
%=c %= a   等效于   c = c % a
**=c **= a   等效于   c = c ** a

运算符优先级:算术运算符  > 比较运算符 > 赋值运算符 > 逻辑运算符

优先级可以通过 () 改变,() 优先级最高

if 判断

定义:如果条件满足,才能做某件事情;如果条件不满足,就做另外一件事情,或者什么也不做。(条件只有满足和不满足两个结果)

单分支

只使用 if,语法:

'''
if 要判断的条件:
    条件成立时,要做的事情
'''

a = 10
if a < 3:
    print("a < 3") #这个print和if是一个代码块
print("hello") #这里的print和上面的if没有关系

占位符:pass,为避免语法报错,必须写代码,还没确定写什么时候可以使用pass占位符

a = 10
if a > 5:
    pass
print("hello")

双分支

使用 if 和 else,语法:

'''
if 要判断的条件:
    条件成立时,要做的事情
else:
    条件不成立时,要做的事情
# if 和 else 要对齐,else必须放到if后面,不能单独使用
'''

 例:登录判断

        name的值为通过input输入的登录账号

        passwd的值为通过input输入的登录密码

        只有name的值为"肖战",并且passwd的值为“911005”,显示“登录成功”,否则显示“登录失败”

name = input("请输入账号:")
passwd = input("请输入密码:")
if name == "肖战" and passwd == "911005":
    print("登录成功")
else:
    print("登录失败")

多分支

使用场景:有多个条件,不同的条件要执行不同的代码,语法:

'''
if 条件1:
    条件1成立时,要做的事情
elif 条件2:
    条件2成立时,要做的事情
elif 条件3:
    条件3成立时,要做的事情
else:
    所有条件不成立时,要做的事情

注意:elif和else要和if对齐,elif和else都不能单独存在,必须在if后面
'''

例:判断正负数

a = int(input("请输入一个整数:"))
if a > 0:
    print("正数")
elif a == 0:
    print("既不是正数,也不是负数")
elif a < 0:
    print("负数")

if 嵌套 

'''
语法
if 条件:
    if 条件:
        要执行的代码
    else:
        要执行的代码
else:
    要执行的代码

只有最外面的if条件满足,才会执行嵌套在里面的if
'''

例1:判断0到100以内的任意一个数字是否能被3整除

a = int(input("请输入一个整数:"))
if a > 0 and a <= 100: #先判断这个数字是否在0到100之内
    if a % 3 == 0 : #如果条件满足,再判断是否能被3整除
        print("能被3整除")
    else:
        print("不能被3整除")
else:
    print("不在0到100之内")

例2:name的值为通过input函数输入的字符串,如果name的值为“魏无羡”

                通过input输入age的值,如果age大于等于23显示“夷陵老祖”

                如果age小于23小于30显示“羡羡”

        如果name的值不为“魏无羡”,显示“姓名错误” 

name = input("请输入姓名:")
if name == "魏无羡" :
    age = int(input("请输入年龄:"))
    if age >= 23:
        print("夷陵老祖")
    else:
        print("羡羡")
else:
    print("姓名错误")

例3:计算器

        num1 = 通过input函数输入的任意数字

        num2 = 通过input函数输入的任意数字

        a = 通过input函数输入 + - * / 中的任意一个字符

        如果a的值为+,显示num1和num2相加的结果

        如果a的值为-,显示num1和num2相减的结果

        如果a的值为*,显示num1和num2相乘的结果

        如果a的值为/,显示num1和num2相除的结果 

num1 = int(input("请输入num1:"))
num2 = int(input("请输入num2:"))
a = input("请输入运算符:")
if a == "+":
    print(num1 + num2)
elif a == "-":
    print(num1 - num2)
elif a == "*":
    print(num1 * num2)
elif a == "/":
    if num2 != 0:
        print(num1 / num2)#判断除数
    else:
        print("除数不能为0")
else:
    print("a的值必须为 + - * /")#判断运算符

随机数

        在 Python 中,要使用随机数,首先需要导入随机数的模块,import random。导入模块后,调用函数 randint 生成一个随机数。
        random.randint(a,b):返回[a,b]之间的整数,包含a 和 b,a 为开始范围,b为终止返回,语法:

import random
a = random.randint(10,100)#定义一个变量a,来存放随机数(10~100之间的随机数,包含10和100)
print(a)

例1:猜拳游戏

        1代表石头、2代表剪刀、3代表布

        玩家从控制台输入要出的拳

        电脑随机出拳(1或2或3),比较胜负

import random

player = input("请出拳:")
pc = random.randint(1, 3) #需要把数字1、2、3转化为字符串
a = None #变量a存放数字转化为字符串的结果
if pc == 1:
    a = "石头"
elif pc == 2:
    a = "剪刀"
else:
    a = "布"

#胜负判断
if (player == "石头" and a == "布") or (player == "剪刀" and a == "石头") or (player == "布" and a == "剪刀"):
    print("玩家出了%s,电脑出了%s,电脑获胜" % (player, a))
elif (player == "石头" and a == "剪刀") or (player == "剪刀" and a == "布") or (player == "布" and a == "石头"):
    print("玩家出了%s,电脑出了%s,玩家获胜" % (player, a))
elif player != "石头" and player != "剪刀" and player != "布":
    print("请规范出拳!")
else:
    print("玩家出了%s,电脑出了%s,平局" % (player, a))

例2:随机生成人名,1代表肖战,2代表时影,3代表肖春生,4代表顾一野,5代表顾魏,6代表魏无羡 

import random
name = random.randint(1,6)
if name == 1:
    print("肖战")
elif name == 2:
    print("时影")
elif name == 3:
    print("肖春生")
elif name == 4:
    print("顾一野")
elif name == 5:
    print("顾魏")
else:
    print("魏无羡")

  • 48
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值