条件判断

条件判断语句(if语句)

  • 执行的流程:
    if语句在执行时,会先对条件表达式进行求值判断,
    如果为True,则执行if后的语句
    如果为False,则不执行
  • 语法结构:
if 条件表达式 : 
	代码块
  • 执行流程:
    代码块代码块中保存着一组代码,同一个代码块中的代码,要么都执行要么都不执行
    代码块以缩进开始,直到代码恢复到之前的缩进级别时结束
    代码块就是一种为代码分组的机制

input() 函数

该函数用来获取用户的输入
input()调用后,程序会立即暂停,等待用户输入

用户输入完内容以后,点击回车程序才会继续向下执行
用户输入完成以后,其所输入的的内容会以返回值得形式返回

if-else语句

  • 语法结构:
if 条件表达式 :
	代码块
else :
	代码块
  • 执行流程:
    if-else语句在执行时,先对if后的条件表达式进行求值判断
    如果为True,则执行if后的代码块
    如果为False,则执行else后的代码块)

if-elif-else 语句

  • 语法结构:
if 条件表达式 :
	代码块
elif 条件表达式 :
	代码块
elif 条件表达式 :
	代码块
   ........
else :
	代码块
  • 执行流程:
    if-elif-else语句在执行时,会自上向下依次对条件表达式进行求值判断,
    如果表达式的结果为True,则执行当前代码块,然后语句结束
    如果表达式的结果为False,则继续向下判断,直到找到True为止
    如果所有的表达式都是False,则执行else后的代码块
  • 总结: if-elif-else中只会有一个代码块会执行

while语句

  • 循环语句可以使指定的代码块重复指定的次数.循环语句分成两种,while循环和 for循环
# 使用while循环计算1-20的累加和
# 1+2+3+.....+20

i = 1
sum = 0
while i <=20:
	sum += i
	i += 1
print('1-20的和是:',sum)
  • 语法结构:
while 条件表达式 :
	代码块
else:
	代码块

break和continue

  • break 可以用来立即退出循环语句,包括else语句

  • continue 用来跳过当次循环

    执行结果如下:

练习打印九九乘法表

# 打印 9*9乘法表
i = 1    # 表示行数
while i <= 9:
	j = 1    # 表示列数
	while j <= i:
		print('{}×{}={}'.format(j,i,(j*i)),end = ' ')    # 打印结尾用两个空格分隔
		j +=1
	i +=1
	print()    # 打印完本行的所有列后换行

结果如下:

作业

# 作业1:求1000以内所有的水仙花数
i = 100
while i < 1000:
    if (i//100)**3 + ((i//10)%10)**3 + (i%10)**3 == i:
        print(i,end="\t")

    i += 1

else:
    print("打印结束!")



# 作业2:获取用户输入的任意数,判断其是否是质数?
while True:
	a = input('请输入一个数:')
	if a.isdigit():
		a = int(a)
		if a == 1:
			print('1不是质数,请重新输入!')
			continue
		i = 2
		while i < a:
			if a % i == 0:
				print('你输入的不是质数!')
				break
			else:
				i += 1
		else:
			print('你输入的是质数!')
			break
	else:
		print('只能输入正整数!')


''' 作业3:猜拳游戏: • 出拳 玩家:手动输入 电脑:随机输入 • 判断输赢: 玩家获胜 电脑获胜 平局 '''
import random

# 玩家出拳:
while True:
    user = input('请输入你要出的拳(0:拳头,2:剪刀,5:布):')
    if user.isdigit:
        user = int(user)
        if user == 0 or user == 2 or user == 5:
            break
        else:
            print('只能输入0,2,5这三个数中的一个!')
    else:
        print('只能输入0,2,5这三个数中的一个!')

# 电脑出拳
while True:
    a = random.randint(0,5)
    if (a == 0 and user == 2) or (a == 2 and user == 5) or (a == 5 and user == 0):
        a = "拳头" if a == 0 else "剪刀" if a == 2 else "布"
        user = "拳头" if user == 0 else "剪刀" if user == 2 else "布"
        print('你输了!你出的是{},电脑出的是{}'.format(user,a))
        break
    elif (a == 0 and user == 5) or (a == 2 and user == 0) or (a == 5 and user == 2):
        a = "拳头" if a == 0 else "剪刀" if a == 2 else "布"
        user = "拳头" if user == 0 else "剪刀" if user == 2 else "布"
        print('你赢了!你出的是{},电脑出的是{}'.format(user, a))
        break
    elif a == user:
        a = "拳头" if a == 0 else "剪刀" if a == 2 else "布"
        print('平局!你们出的都是{}'.format(a))
        break
    else:
        continue

本文地址:https://blog.csdn.net/lawlietboss/article/details/109882097