python字符串和运算符
python之条件控制语句
if语句:
- 语法格式:
if 条件表达式:
代码块
if False:print('hello')# 默认情况下,if语句只会控制紧跟其后的那条语句
print('hello')
if False:
# 代码块:是一种代码分组的机制,是一个整体,要么就都执行,要么就都不执行,代码块以缩进开始,直到代码恢复之前的缩进级别时结束
print('kdjfka')
print('dfadgf')
num = 38
if num> 20 and num < 40:
print('num 比20大,比40小')
# 或者是以下这种方式
if 20 < num < 40:
print('num比20大,比40小')
hello
num 比20大,比40小
num比20大,比40小
- if语句练习:
根据输入的月份打印该月份属于哪一个季节
345春季
678夏季
9 10 11 秋季
12 1 2 冬季
# 第一种方式
mouth = int(input('请输入您的月份:'))
if mouth == 3 or mouth == 4 or mouth == 5:
print(mouth,'春季')
if mouth == 6 or mouth == 7 or mouth == 8:
print(mouth,'夏季')
if mouth == 9 or mouth == 10 or mouth == 11:
print(mouth,'秋季')
if mouth == 12 or mouth == 1 or mouth == 2:
print(mouth,'冬季')
while 1:
month = float(input('请输入您的月份:'))
if month < 1 or month > 12:
print('您输入的有误')
print('请您重新输入!')
else:
if 3 <= month <= 5:
print(month, '春季')
break
elif 6 <= month <= 8:
print(month, '夏季')
break
elif 9 <= month <= 11:
print(month, '秋季')
break
else:
print(month, '冬季')
break
input()函数
该函数用来获取用户的输入
input()函数调用后,程序会立即暂停,等待用户的输入
用户输入完内容后点击回车才会继续向下执行
用户输入完内容以后,其所输入的内容会以返回值的形式返回
- input()函数练习
获取用户输入的内容,如果是python就通过验证
# 获取用户输入内容
content = input('请输入内容:')
# 判断用户输入的是否是python
if content == 'python':
print('通过验证')
if else语句
- 语法:
if 条件表达式:代码块
else:代码块
- 执行流程:
if-else 语句在执行时,先对if后的条件表达式进行求值判断,如果为True,则执行if后的代码块,如果为False,则执行else后的代码块 - if else语句练习:
让用户输入一个工资,判断工资程度
value = int(input('请输入您的工资:'))
# 如果用户的工资大于或者等于2000则继续努力
if value >= 2000:
print('继续努力')
else:
print('你该加油啦')
编写程序计算狗的年龄相当于人的多大年龄
狗的前两年每一年相当于人的10.5岁。之后每增加一年,增加四岁
dog_age = float ( input ( '请输入狗的年龄:' ) )
person_age = 0
# 检查狗的年龄的合法性
if dog_age > 0:
# 如果狗的年龄在2岁以下(包含两岁)
if dog_age <= 2:
# 用当前的狗的年龄直接乘以10.5
person_age = dog_age * 10.5
else:
# 狗的年龄在2岁以上
# 计算前两岁相当于人的年龄
person_age = 2 * 10.5
# 计算超过两岁部分相当于人的年龄
# person_age = person_age + (dog_age -2) * 4
person_age += (dog_age - 2) * 4
print ( dog_age, '岁的狗,年纪相当于', person_age, '岁的人' )
else:
print ( '您的狗的年龄有问题' )
while True:
dog_age = float(input('请输入狗的年龄:'))
if dog_age < 0:
print('您家的狗的年龄有问题!')
print('请重新输入!')
else:
if dog_age <= 2:
person_age = dog_age * 10.5
print('两岁以下的狗的年龄相当于%s岁的人' % person_age)
break
else:
person_age = 10.5 * 2
person_age +=(dog_age - 2) * 4# person_age = person_age + (dog_age - 2) * 4
print('两岁以上的狗的年龄相当于%s岁的人' % person_age)
break
if elif else语句
- 语法:
if 条件表达式:
代码块
elif 条件表达式:
代码块
elif 条件表达式:
代码块
…
else:
代码块 - 执行流程:
if elif else语句在执行时,会自上向下一次对条件表达式进行求值判断,如果表达式的结果为True,则执行当前代码块,之后语句结束,如果表达式的结果为False,则继续向下判断,直到找到True为止,如果所有的表达式都是False,则执行else后的代码块 - 总结: if elif else中只会有一个代码块执行
- if elif else语句练习
编写程序计算狗的年龄相当于人的多大年龄
狗的前两年每一年相当于人的10.5岁。之后每增加一年,增加四岁
# 添加提示信息
dog_age = float(input('请输入狗的年龄:'))
person_age = 0
if dog_age < 0:
print('您输入的不合法')
# 如果狗的年龄在两岁以下(包含两岁)
elif dog_age <= 2:
person_age = dog_age * 10.5
else:
# 狗的年龄在2岁以上
# 计算前两岁相当于人的年龄
person_age = 2 * 10.5
# 计算超过两岁部分相当于人的年龄
person_age +=(dog_age - 2) * 4 # person_age = person_age + (dog_age - 2) * 4
if dog_age > 0:
print(dog_age,'岁的狗,年纪相当于',person_age,'岁的人')
# 第一种方式
value = int(input('请输入您的工资:'))
if value >= 30000:
print('有钱任性')
elif value >= 20000:
print('有钱真好')
elif value >= 10000:
print('哥也月薪上万了')
elif value >= 5000:
print('工资还说的过去')
elif value>= 2000:
print('能养活自己了')
else:
print('你该加油啦')
# 第二种方式
if value >= 2000 and value < 5000:
print ( '能养活自己了' )
elif value >= 5000 and value < 10000:
print ( '工资还说的过去' )
elif value >= 10000:
print ( '哥也月薪上万了' )
while语句
循环语句可以使指定的代码块重复指定的次数,循环语句分两种,while循环和for循环
- 语法:
while 条件表达式:
代码块
else:
代码块 - 循环的三个条件:
条件一:初始化表达式 用来设置循环执行的条件
条件二: 条件表达式 用来设置循环执行的条件
条件三: 更新表达式 修改初始化的变量的值
i = 0
while i < 5:
i+= 1
print('hello',i)
else:
print('我是else语句')
hello 1
hello 2
hello 3
hello 4
hello 5
我是else语句
continue语句和break语句
continue可以用来跳过当次的循环
break可以用来立即跳出循环语句,包括else语句
i = 0
while i < 6:
i += 1
if i == 2:
continue
print(i)
else:
print('haha')
'''
i = 0
i = 1
i = 2(此处跳出当次的循环)
i = 3
i = 4
i = 5
i = 6
i = 7(此时i>6执行else语句)
'''
i = 0
while i < 6:
i += 1
if i == 2:
break
print(i)
else:
print('jdkfj')
'''
i = 1
i = 2(此时跳出循环语句包括else语句)
'''
1
3
4
5
6
haha
1
求1-100以内所有偶数的和
# 第一种方式
# 获取100以内所有的数
i = 0
result = 0# 定义一个变量来保存结果
while i < 100:
i += 1
# 判断i是否为偶数
if i % 2 == 0:
result += i
print('result = ',result)
# 第二种方式
i = 0
result = 0
while i < 100:
i += 2
result += i
# print(i)
print ( 'result的结果是:', result )
result = 2550
result的结果是: 2550
嵌套循环
- python语言允许在一个循环体里面嵌入另一个循环体
- 语法:
while 表达式:
while 表达式:
代码块
代码块
for 变量 in 循环规则:
for 变量 in 循环规则:
代码块
代码块
- 用*打印一个高为5 底为5的直角三角形
i = 0
# 外层可以控制图形的高度
while i < 5:
# 内层循环可以控制图形的宽度
j = 0
while j < 5:
print ( '*', end='' )
j += 1
print ()
i += 1
# * i = 0 j < 1
# ** i = 1 j < 2
# *** i = 2 j < 3
# **** i = 3 j < 4
# ***** i = 4 j < 5
i = 0
while i < 5:
# 内层循环可以控制图形的宽度
j = 0
while j < i + 1:
print ( '*', end='' )
j += 1
print ()
i += 1
# ***** j < 5 i = 0 j < 5 - i
# **** j < 4 i = 1 j < 5 - i
# ***
# **
# *
i = 0
while i < 5:
# 内层循环可以控制图形的宽度
j = 0
while j < 5 - i:
print ( '*', end='' )
j += 1
print ()
i += 1
*****
*****
*****
*****
*****
*
**
***
****
*****
*****
****
***
**
*
打印九九乘法表
# 创建一个外层循环来控制高度
i = 0
while i < 9:
i += 1
# 创建一个内层循环来控制宽度
j = 0
while j < i:
j += 1
print(f'{j} * {i} = {i*j}',end='')
print()
案例1:
打印1000以内的水仙花数?
水仙花数的介绍:
水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、 自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number), 水仙花数是指一个3 位数,它的每个位上的数字的3次幂之和等于它本身(例如:13 + 53+ 3**3 = 153)。1000以内的水仙花数有:153、370、371、407。
# 方案一:
# while循环
# 思路:想找出1000以内所有的三位数
# 找出百位 十位 个位再做一个运算
i = 100
while i < 1000:
# 百位数a 十位数 b 个位数 c
a = i // 100
b = (i - a * 100)//10 # b = i // 10 % 10
c = i % 10
# print(i,a,b,c)
# 判断i是否是水仙花数
if a ** 3 + b ** 3 + c ** 3 == i:
print(i)
i += 1
# 方案二:
# 思路:任意一个数,如521,把521除以100得到百位数5,
# 所以521用100取余得到余数21,再把21除以10得到十位数2,
# 所以521用100取余得到余数21,再把21用10取余得到个位数1。
# 示例:
a = 153
b = 153 // 100 #百位数
print(b)
c = 153 % 100 // 10#十位数
print(c)
d = 153 % 100 % 10#个位数
print(d)
print(b ** 3 + c ** 3 + d ** 3)
for n in range(100,1000):
b = n // 100# 百位数
# print(b)
c = n % 100 // 10# 十位数
# print(c)
d = n % 100 % 10# 个位数
# print(d)
if b ** 3 + c ** 3 + d ** 3 == n:
print('%d%d%d'%(b,c,d))
案例二(@!):
获取用户输入的自然数,并判断是否是质数
什么是质数:
质数指的是只可以被1或者自己整除的数。
例如:2 、 3、5、7
思路:要验证是否是质数,数都可以被1或者它本身整除,所以要证明的是如果一个数除以另一个数(不是1或者它本身)余数为0则证明不是质数,余数不为0则证明是质数。
num = int(input('请输入一个大于1的数:')
# 判断num是否是质数
i = 2
# 定义一个变量用来标记num是否是质数
flag = True
while i < num:
# 判断num是否能够被i整除
# 如果num可以被1整除意味着num不是质数
if num % i == 0:
# 进入判断就证明num不是质数,此时要给标记重新赋值
flag = False
# print(num,'不是质数')
i += 1
if flag:
print(num,'是质数')
else:
print(num,'不是质数')
下节:Python之列表