if语句根据条件是否满足(True/False)来选择执行相应的语句,
注意点有三个:第一,每个条件后要使用冒号“:”,
第二,使用缩进来划分语句块;
第三,在Python中没有switch-case语句。
举个例子:
age = int(input("请输入您的年龄:"))#注意:input()函数返回的结果类型为字符串类型,需要进行转化,才好比较大小
if age<=0:
print("年龄不能小于等于0,你是在逗我吧!")
elif age<18:
print("你还未成年,不能登录游戏系统!")
else:
print("欢迎登录!")
#任意给出一个不多于5位的正整数,1)求出输入的是几位数;2)逆序打印出这个数
num = int(input("请输入一个不多于5位的正整数:"))
a = int(num/10000)#得到万位数字
b = int(num%10000/1000)#得到千位数字
c = int(num%1000/100)#得到百位数字
d = int(num%100/10)#得到十位数字
e = int(num%10)#得到个位数字
if a!=0:
print("这是一个5位数,逆序打印的结果为:",e,d,c,b,a)
elif b!=0:
print("这是一个4位数,逆序打印的结果为:",e,d,c,b)
elif c!=0:
print("这是一个3位数,逆序打印的结果为:",e,d,c)
elif d!=0:
print("这是一个2位数,逆序打印的结果为:",e,d)
else:
print("这个数为:",e)
运算符 | 逻辑表达式 | 意 义 |
---|---|---|
and | x and y | 布尔与,若x为False,则 x and y 返回False,否则它返回 y的计算值 |
or | x or y | 布尔或,若x是True,它返回x的值,否则返回y的计算值 |
not | not x | 布尔非,若x为True,则返回False;反之亦然 |
举个栗子:石头剪刀布游戏
用1表示石头,2表示剪刀,3表示布
import random#导入Python标准库
gameplayer = int(input("请输入您要出的拳,1=石头,2=布,3=剪刀"))
gamecomputer = random.ranfint(1,3)#随机产生一个1~3的整数
if ((gameplayer== 1 and gamecomputer ==2) or (gameplayer == 2 and gamecomputer== 3) or (gameplayer == 3 and gamecomputer ==1)):
print("\n您战胜了电脑!")
elif gameplayer==gamecomputer:
print("平局")
else:
print("您输给了电脑。")
#判断输入的任意三位数是否是水仙花数
import math#导入math标准库
num = input("请输入一个正整数:")
while int(num)!= 0: #由于num是字符串,所以可以利用字符串索引提取出它的个位、十位、百位,但之后要转化为int型
if int(num) == pow(int(num[0]),3) + pow(int(num[1]),3)+pow(int(num[2]),3):
print("%3s是水仙花数"%num)
else:
print("%3s不是水仙花数。"%num)
num = input("请输入一个正整数:")
#编程判断一个数是否是2或5的倍数
num= int(input("请输入一个整数:"))
while num!=0:
if num%2==0:
if num%5==0:#利用if语句的嵌套来实现较为方便
print("%3d是2和5的倍数。"%num)
else:
print("%3d是2的倍数,但不是5的倍数。"%num)
else:
if num%5 ==0:
print("%3d不是2的倍数但是5的倍数"%num)
else:
print("%3d既不是2的倍数也不是5的倍数"%num)
num = int(input("请输入一个整数:"))