python零基础之if语句(单分支if、双分支if .else、多分支if..elif..elif..else、if语句的嵌套)、运算符优先级、比较运算符、赋值运算符、逻辑运算符、随机数random

注意:

1、在程序开发过程中,通常在判断条件时,会需要同时判断多个条件,只有多个条件都满足时,才会执行后续的代码,此时就会用到逻辑运算符,与或非了,即:and 、or 、not。

2、pass:占位符,例如,当if语句内容为空的时候,如果没有代码程序就会报错,此时就可以使用pass作为占位符,避免程序报错。

3、判断一个字符串是否是回文数。

a = input("请输入要判断的字符串:")
if a == a[::-1]:
    print("%s是回文数" % a)
else:
    print("不是回文!")

结果:
请输入要判断的字符串:1221
1221是回文数

请输入要判断的字符串:abcd
不是回文


一、判断语句(也叫分支语句)

判断:就是说,如果条件满足,就做一件事,如果条件不满足,就做另外一件事,或者什么也不做。

if语句分为四种:单分支、双分支、多分支、if嵌套。

1、if 单分支——单独的if

条件成立时,执行条件成立的代码,不成立时不管。

格式:

if  条件:

        条件成立时执行的代码

例如年满18岁就能进网吧。

age = int(input("请输入你的年龄:"))
if age >= 18:
    print("允许进入网吧!")


结果:
请输入你的年龄:20
允许进入网吧!

改进成双分支,年满18岁就能进网吧,不满18就回家写作业。

age = int(input("请输入你的年龄:"))
if age >= 18:
    print("允许进入网吧!")
else:
    print("回家写作业")


结果:
请输入你的年龄:10
回家写作业

2、if 双分支——if... else

条件成立时,执行条件成立的代码,条件不成立时执行不成立的代码。即:条件成立时干一件事,条件不成立时干另外一件事。

格式:

if  条件:

        条件成立时执行的代码

else:

        条件不成立时执行的代码

例如:判断一个数的奇偶性。

num = int(input("请输入一个整数:"))
if num % 2 == 0:
    print('%d为偶数!' % num)
else:
    print('%d为奇数!' % num)



结果:
请输入一个整数:35
35为奇数!

请输入一个整数:0
0为偶数!

请输入一个整数:1
1为奇数!

例如:判断一个数为正数还是负数。

num = int(input("请输入一个整数:"))
if num >= 0:
    print("正数")
else:
    print("负数")


结果:
请输入一个整数:-1
负数

请输入一个整数:9
正数

3、if 多分支——if ...elif ... else

有多个条件,不同条件下要执行不同的代码。

格式:

if 条件1:

        条件1满足时,要做的事

elif 条件2:

        条件2满足时,要做的事

elif 条件3:

        条件3满足时,要做的事

..............

else:

        所有条件都不满足时,要做的事

例如:输入一个年龄,判断属于什么人生阶段。

age = int(input("请输入年龄:"))
if age < 10 and age > 0:
    print("小孩")
elif age >= 10 and age < 20:
    print("青少年")
elif age >= 20 and age < 30:
    print("年轻人")
elif age >= 30 and age < 50:
    print("中年人")
elif age >= 50:
    print("老年人")
else:
    print("年龄输入的不对")


结果:
请输入年龄:45
中年人


请输入年龄:-5
年龄输入的不对

4、if 的嵌套

一个if语句里面又嵌套了if语句。在之前条件满足的前提下,再进行下一步的判断。

例如:判断0-100以内的任意一个数字能否被3整除。

num = int(input("请输入一个数字:"))
if num > 0 and num < 100:
    if num % 3 == 0:
        print("%d能被3整数" % num)
    else:
        print('%d不能被3整除' % num)
else:
    print('%d不在0-100之间' % num)


结果:

请输入一个数字:95
95不能被3整除


请输入一个数字:-1
-1不在0-100之间

例如:简单计算器功能——实现两个数能进行加减乘除的运算。

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的值必须为+-*/")


结果:
请输入num1的值:5
请输入num2的值:0
请输入+-*/中的任意字符:/
除数不能为0

结果:
请输入num1的值:1
请输入num2的值:2
请输入+-*/中的任意字符:y
a的值必须为+-*/

二、随机数

要使用随机数,就要导入随机数的模块,然后调用randint函数,去随机生成一个随机数。

random.randint(a, b),返回[a,b]之间的一个整数,也包括ab这两个数。——闭区间

例如:随机产生1、2、3 。

import random
a = random.randint(1, 3)  # 随机生成从1到3之间的一个随机的整数,包括1和3

例如:猜拳游戏。你和电脑石头剪刀布。

分析:

1石头、2剪刀、3布

石头赢剪刀——1赢2

剪刀赢布——2赢3

布赢石头——3赢1

import random

pc = random.randint(1, 3)
player = int(input("请出1、2、3:"))
if (pc == 1 and player == 2) or (pc == 2 and player == 3) or (pc == 3 and player == 1):
    print("电脑出了%d,我出了%d,所以电脑赢!" % (pc, player))
elif pc == player:
    print("电脑出了%d,我出了%d,平局!" % (pc, player))
else:
    print("电脑出了%d,我出了%d,我赢了!" % (pc, player))


结果:
请出1、2、3:1
电脑出了3,我出了1,所以电脑赢!

改进版,把123换成汉字。

import random

pc = random.randint(1, 3)
# a = None
if pc == 1:
    a = "石头"
elif pc == 2:
    a = "剪刀"
else:
    a = "布"

player = input("请从【石头、剪刀、布】中选择一个进行输入:")
if (a == "石头" and player == "剪刀") or (a == '剪刀' and player == "布") or (a == "布" and player == "石头"):
    print("电脑出了%s,我出了%s,所以电脑赢!" % (a, player))
elif a == player:
    print("电脑出了%s,我出了%s,平局!" % (a, player))
else:
    print("电脑出了%s,我出了%s,我赢了!" % (a, player))

结果:
请从【石头、剪刀、布】中选择一个进行输入:石头
电脑出了石头,我出了石头,平局!

请从【石头、剪刀、布】中选择一个进行输入:石头
电脑出了布,我出了石头,所以电脑赢!

请从【石头、剪刀、布】中选择一个进行输入:石头
电脑出了剪刀,我出了石头,我赢了!

三、运算符及优先级

优先级:从高到低:

小括号()优先级最高,接着依次是:

算数运算符——>比较运算符——>赋值运算符——>逻辑运算符。

其中,算数运算符中的优先级从高到低依次是:幂**、乘除、求余、整除、加减。

比较运算符中的优先级从高到低依次是:<=   <   >   >=、 ==    !=。

1、比较运算符:>    >=   <    <=   ==    !=

2、赋值运算符: +=   -=   *=     /=   //=   **=

a=a+b  等价于 a +=b 注意:+=之间没有空格。

a = 1
a += 2   # a=a+2
print(a)

结果:
3

3、逻辑运算符 ——与或非

(1)与:and

条件1 and 条件2——两个条件必须同时满足。

例如:判断一个数是否在0-50之间。

num = float(input("请输入一个数:"))
if num >= 0 and num <= 50:
    print("%.1f在0-50之间" % num)
else:
    print("不在")

结果:
请输入一个数:-5
不在

请输入一个数:1.234
1.2在0-50这个范围内

例如:只有用户名为tom,密码为123才能登录成功,否则登录失败。

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

结果:
请输入账号:tom
请输入密码:123
登录成功


请输入账号:a
请输入密码:a
登录失败

(2)或:or

条件1 or 条件2 ——只要有一个满足就可以

例如:是苹果或者香蕉那就买,其它水果那就不买。

fruit = input("请输入水果名称:")
if fruit == "apple" or fruit == "banana":
    print("那就买")
else:
    print("不买")

结果:
请输入水果名称:apple
那就买

请输入水果名称:orange
不买

(3)非:not

not 条件——条件取反

例如:只要那卖的水果不是苹果那就买。 (即:是苹果就不买,其它水果那就买。)

fruit = input("请输入水果名称:")
if not fruit == "apple":
    print("那就买")
else:
    print("不买")


结果:
请输入水果名称:apple
不买

请输入水果名称:banana
那就买

你可能感兴趣的:(python)