Python基础

Python判断语句

2022-12-21  本文已影响0人  技术老男孩

一、判断的定义:

二、if 语句语法结构

空类型判断

input='判断" "的结果:';
if " ": # True
    print(input,"True")
else:
    print(input,"False")

input="判断[]的结果:";
if []: # False
    print(input,"True")
else:
    print(input,"False")

input="判断[False]的结果:";
if [False]: # True
    print(input,"True")
else:
    print(input,"False")

input="判断None的结果:";
if None: # False
    print(input,"True")
else:
    print(input,"False")
[root@Python day02]# python3 demo01_if.py 
判断零的结果: False
判断非零的结果: True
判断""的结果: False
判断" "的结果: True
判断[]的结果: False
判断[False]的结果: True
判断None的结果: False

练习 1:判断合法用户

需求

  1. 提示用户输入用户名和密码
  2. 获得到相关信息后,将其保存在变量中
  3. 如果用户输的用户名为 bob,密码为 123456,则输出 Login successful,否则输出 Login incorrect
# login2.py是文件名,可以修改
[root@localhost day02]# vim login2.py  

# 定义两个变量 username 和 password,分别从键盘获取用户名和密码
username = input('请输入用户名:')
password = input('请输入密码:')

# 在python中等于号用 == 表示;input()函数获取的值都是字符类型,密码要用引号引起来
if username == 'bob' and password == '123456':
 print('Login successful')
else:
 print('Login inorrect')
print(" Login end ")

三、if 扩展语句:

四、简写方式:

示例:

print("成功" if 10 % 2 == 0 else "失败")

练习 2:编写判断成绩的程序

需求

  1. 如果成绩大于60分,输出“及格”
  2. 如果成绩大于70分,输出“良”
  3. 如果成绩大于80分,输出“好”
  4. 如果成绩大于90分,输出“优秀”
  5. 否则输出“你要努力了”

编写判断成绩的程序

[root@localhost day02]# vim demo02_if.py  # demo02_if.py是文件名,可以修改
score = int(input('分数:'))
#程序的执行,是从上往下执行的;
#先判断大的数值,不满足再继续往下判断,可以简化程序代码
if score >= 90:
 print('优秀')
elif score >= 80:
 print('好')
elif score >= 70:
 print('良')
elif score >= 60:
 print('及格')
else:
 print('你要努力了!!!')

练习 3:编写石头剪刀布小游戏

需求:

  1. 计算机随机出拳
  2. 玩家自己决定如何出拳
  3. 代码尽量简化

方法一:编写剪刀石头布小游戏**

[root@localhost day02]# vim test01_if.py  # test01_if.py是文件名,可以修改
# 导入随机数的模块 random
import random
# 定义列表all_choices,存储出拳的每个选择
all_choices = ['石头','剪刀','布']
# random模块的choice方法,可以从变量中随机选出一个元素,随机出来的元素为电脑的出拳
computer = random.choice(all_choices)
# 使用input()函数,获取用户的出拳选择
player = input('请出拳(石头/剪刀/布):')
# 使用函数print()打印出电脑和玩家的出拳选择
print("Your choice:" + player + ", Computer's choice: " + computer)

# 当玩家出拳为【石头】时,电脑的每一种出拳选择都要和【石头】进行比较,打印结果
if player == '石头':
 if computer == '石头':
 print('平局')
 elif computer == '剪刀':
 print('You WIN!!!')
 else:
 print('You LOSE!!!')

# 当玩家出拳为【剪刀】时,电脑的每一种出拳选择都要和【剪刀】进行比较,打印结果
elif player == '剪刀':
 if computer == '石头':
 print('You LOSE!!!')
 elif computer == '剪刀':
 print('平局')
 else:
 print('You WIN!!!')

# 当玩家出拳为【布】时,电脑的每一种出拳选择都要和【布】进行比较,打印结果
else:
 if computer == '石头':
 print('You WIN!!!')
 elif computer == '剪刀':
 print('You LOSE!!!')
 else:
 print('平局')

方法二:(win_list)

# test02_if.py是文件名,可以修改
[root@localhost day02]# vim test02_if.py 
# 导入随机数的模块 random
import random
# 定义列表all_choices,存储出拳的每个选择
all_choices = ['石头','剪刀','布']

# 定义列表win_list, 将玩家赢电脑的选择,提前保存起来
# 每个子列表中,玩家为第一个元素,电脑为第二个元素
win_list = [  ['石头','剪刀'], ['剪刀','布'], ['布','石头']   ]

# random模块的choice方法,可以从变量中随机选出一个元素
# 随机出来的元素为电脑的出拳
computer = random.choice(all_choices)

# 使用input()函数,获取用户的出拳选择
player = input('请出拳(石头/剪刀/布):')

# 使用函数print()打印出电脑和玩家的出拳选择
print("Your choice:" + player + ", Computer's choice: " + computer)

# 如果玩家和电脑的出拳相同,则平局
if player == computer:
 print('平局')

# 如果[玩家,电脑]的列表,在win_list中,则可判断玩家赢,因为在win_list中定义了玩家赢得各种可能性 
elif [player,computer] in win_list:
 print('You WIN!!!')

# 玩家不是赢,那么就是输了,玩家所有赢得可能性已经在win_list定义了 
else:
 print('You LOSE!!!')
上一篇 下一篇

猜你喜欢

热点阅读