一、条件判断
1.1 条件判断语句(if 语句)
定义: 条件判断语句就是if语句
重点 需要注意条件判断语句和条件运算符的区别:
条件运算符是有返回结果的,而条件判断语句(if语句)是没有返回结果的。
条件运算符:
条件运算符:
## 条件运算符
# 语法: 语句1 条件表达式 else 语句2
# 条件运算符执行时,会先对条件语句中的表达式进行求职判断
# 如果判断为 True ,则执行语句1,并返回执行结果
# 如果判断为 False,则执行语句2,并返回执行结果
max = a if a > b and a > c else c
print(max) # a
条件判断语句:
# 语法:
if 条件表达式:
代码块1
举个栗子:
x = int(input("请输入012三个数字"))
if x == 0:
print(111)
if x == 2:
print(222)
if x == 1:
print(333)
1.2 input() 函数
作用: input() 函数主要用来获取用户的输入
input()调用后,程序会立即暂停,等待用户输入
用户输入完成后,点击回车程序才会继续向下执行
用户输入完成以后,其所输入的内容会以返回值的形式返回。
特性1: input 接收到的数据一定是一个字符串,响应和 int 类型的数据进行转换,一定要进行类型转换。
a = input("请输入数字:")
print(type(a))
----------输出---------
请输入数字: 111
类型转换
b = int(input("请输入数字:"))
print(type(b))
---------输出---------
请输入数字: 222
1.3 if-else 语句 <非此即彼>
语法:
- `if 条件表达式 :
代码块1
else:
代码块2`
执行过程:
if-else 语句在执行时,先对if 后的条件表达式进行请求判断
如果为 True , 则执行 if 后的代码块1
如果为 False,则执行 else 后的代码块2
x = int(input("请输入012三个数字:"))
if x == 0:
print("1111")
else:
print("2222")
1.4 if-elif-else 语句
语法:
if 条件表达式1:
代码块1
elif 条件表达式2:
代码块2
else:
代码块3
总结: if-elif-else 中只会有一个代码块会执行。
salary = 40000
if salary > 30000:
print('有钱任性')
elif salary >= 20000:
print('解决温饱')
elif salary >= 10000:
print('月薪过万')
elif salary >= 5000:
print('新手小白')
else:
print('吃土吧')
-------输出------
有钱任性
特性: if-elif-else 条件流程是从上到下,按顺序执行的;如果前面的条件满足,后面的停止,不再进行判断。永远有一个满足条件。
value = 18000
if value >= 30000:
print("有钱任性")
elif value >= 5000 and value < 10000:
print("新手小白")
elif value >= 20000 and value < 30000:
print("解决温饱")
elif value >= 10000 and value < 20000:
print("月薪过万")
else:
print("吃土吧")
二、while循环
2.1 while 语句
循环语句可以使指定的代码块重复指定的次数,循环语句分为2种: while 循环 和 for循环。
语法:
只要条件表达式结果为 True ,就执行代码块。
一直会无线循环,即死循环。直到条件表达式结果为 False ,循环才结束。
while循环三要素:
设定一个初始值;
对初始值进行条件判断,增加一个条件语句,对初始值进行一个条件表达式的限制。
初始值的自增长。
i = 0
while i < 5:
print(i)
i += 1 # i = i + 1
-----执行-----
0
1
2
3
4
######################
# 1-100累加
i = 0
result = 0
while i < 101:
result += i
i += 1
print(result)
# 1-100 偶数想加
i = 0
result = 0
while i < 101:
if i % 2 == 0:
result += i
i += 1
print(result)
# 1-100 偶数想加
i = 0
result = 0
while i < 101:
result += i
i += 2
print(result)
小实验
打印 下面图案
*
* *
* * *
* * * *
* * * * *
i = 1
while i < 6:
j = 1
while j <= i:
print('*', end=' ')
j += 1
print()
i += 1
#########################
i = 0
while i < 5:
j = 0 # j 重新赋值
while j < 5-i:
print("*", end=' ')
j += 1
print()
i += 1
求 1000 以内的水仙花数
科普:什么是水仙花数?
水仙花数,指一个3位数,它的每个位上的数字的3次冥之和等于它本身。例如:1^3 + 5^3 + 3^3=153
cont = 100
while cont < 1000:
x = int(cont/100)
y = int(cont % 100 / 10)
z = int(cont % 100 % 10)
if cont == x**3 + y**3 + z**3:
print(cont)
cont += 1
##########################
153
370
371
407
第二种方法
i = 100
while i < 1000:
i += 1
a = str(i)
if int(a[0])**3 + int(a[1])**3 + int(a[2])**3 == i:
print(a)
获取用户输入的任意数,判断是否是质数 ?
质数:又称素数,一个大于1 的自然数,除了1和它自身外,不能被其他自然数整数的数叫质数。
num = int(input("请输入一个数字:"))
if 1 < num <= 2:
print(num, '是质数')
elif num > 2:
i = 2
while i < num:
if num % i == 0:
print(num, "不是质数")
break
i += 1
else:
print(num, '是质数')
else:
print(num, "不是质数")
猜拳游戏
import random
# 玩家出拳
player = int(input('清出拳: 0--石头;1--剪刀;2--布'))
# 电脑
computer = random.randint(0, 2)
# print(computer)
# 判断输赢
# 玩家胜
if ((player == 0) and (computer == 1)) or ((player == 1) and (computer == 2)) or ((player == 2) and (computer == 0)):
print('玩家获胜,哈哈哈!!!')
elif player == computer:
print('平局,别走,再来一局!!!')
else:
print('电脑获胜')
三个数比大小
a = 10
b = 20
c = 30
max1 = (a if a > b else b) if (a if a > b else b) > c else c
max2 = a if a > b and a > c else b if b > c else c
print(max1)
print(max2)
or循环小例子–等腰直角三角形–实心等边三角形等等
# myname = 'guofeng80'
# for g in myname:
# if g == 'e':
# print('遇到e不打印')
# # break
# continue
# print(g)
# else:
# print('循环正常结束之后执行的代码')
# Coding:utf-8
rows = int(input('输入列数 '))
i = j = k = 1 # 声明变量,i用于控制外层循环(图形行数),j用于控制空格的个数,k用于控制*的个数
# 等腰直角三角形1
print("等腰直角三角形1")
for i in range(0, rows):
for k in range(0, rows - i):
print(" * ", end='') # 注意这里的",",一定不能省略,可以起到不换行的作用
k += 1枣庄做人流多少钱 http://mobile.0632dffk.com/
i += 1
print("\n")
# 打印实心等边三角形
print("打印空心等边三角形,这里去掉if-else条件判断就是实心的")
for i in range(0, rows + 1):
# 变量i控制行数
for j in range(0, rows - i):
# (1,rows-i)
print(" ", end='')
j += 1
for k in range(0, 2 * i - 1):
# (1,2*i)
if k == 0 or k == 2 * i - 2 or i == rows:
if i == rows:
if k % 2 == 0:
# 因为第一个数是从0开始的,所以要是偶数打印*,奇数打印空格
print("*", end='')
else:
print(" ", end='')
else:
print("*", end='')
else:
print(" ", end='')
k += 1
print("\n")
i += 1
# 打印菱形
print("打印空心等菱形,这里去掉if-else条件判断就是实心的")
for i in range(rows):
# 变量i控制行数
for j in range(rows - i):
# (1,rows-i)
print(" ", end='')
j += 1
for k in range(2 * i - 1):
# (1,2*i)
if k == 0 or k == 2 * i - 2:
print("*", end='')
else:
print(" ", end='')
k += 1
print("\n")
i += 1
# 菱形的下半部分
for i in range(rows):
for j in range(i):
# (1,rows-i)
print(" ", end='')
j += 1
for k in range(2 * (rows - i) - 1):
# (1,2*i)
if k == 0 or k == 2 * (rows - i) - 2:
print("*", end='')
else:
print(" ", end='')
k += 1
print("\n")
i += 1
# 实心正方形
print("实心正方形")
for i in range(0, rows):
for k in range(0, rows):
print(" * ", end='') # 注意这里的",",一定不能省略,可以起到不换行的作用
k += 1
i += 1
print("\n")
# 空心正方形
print("空心正方形")
for i in range(0, rows):
for k in range(0, rows):
if i != 0 and i != rows - 1:
if k == 0 or k == rows - 1:
# 由于视觉效果看起来更像正方形,所以这里*两侧加了空格,增大距离
print(" * ", end='') # 注意这里的",",一定不能省略,可以起到不换行的作用
else:
print(" ", end='') # 该处有三个空格
else:
print(" * ", end='') # 这里*两侧加了空格
k += 1
i += 1
print("\n")
总结以上是内存溢出为你收集整理的Python——if条件判断和while循环全部内容,希望文章能够帮你解决Python——if条件判断和while循环所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)