2018-12-28

2018-12-28  本文已影响0人  百而所思

Day5

一、 if语句

python中的分支结构只有if语句,没有switch

1、 什么时候需要使用if

如果做某件事(执行某段代码)需要满足某个条件才行,就考虑使用if

2、 怎么使用if

结构一
a. 语法1:
if 条件语句:
代码段1
b. 说明:
if - 关键字,是如果的意思
条件语句 - 任意一个有结果的语句,最好结果是布尔。
如果不是布尔,在判断的时候会转换成布尔。
: - 固定写法,只要出现,下面第一行代码一定会缩进。
冒号缩进组合形成代码段,相当于其他语言中的大括号。
代码段1 - 和if保持一个缩进的你语句且前面所有代码段都和if保持同一个缩进语句。也可以是一行,也可以是多行语句。
如果代码段没有和if保持同一个
c. 执行过程:先判断条件语句的结果是否为True,如果为True就执行代码段1,再执行其他语句;
若为Flase,则不执行代码段,直接执行if外边的语句。

判断一个数字是否是3的倍数

num = int((input("请输入一个数字:")))
if num % 3 == 0:
    print('%d是三的倍数' % num)

结构二: if-else结构
a. 语法:
if 条件语句:
代码段1:
else:
代码段2
其他语句
b. 说明
else - 关键字,固定写法;相当于否则,不满足if条件的其他情况
c. 执行过程:先判断条件语句是否为True,如果为True就执行代码段1,否则执行代码段2

判断奇偶

#num = int((input("请输入一个数字:")))
if num % 2 ==0 :
    print('%d是偶数' % num)
else:
    print('%d是奇数' % num)
# 输入一个字符串,判断字符串的开头是否是字母小写,是就转换为大写并打印。否则直接打印

str1 = input("随便输点啥:")
if 'a' <= str1[0] <= 'z':
    print(str1[0].upper() + str1[1:])
else:
    print(str)

结构三:if-elif-else结构
a. 语法:
if 条件语句1:
代码段1
elif 条件语句2:
代码段2
···
elif 条件语句n-1:
代码段n-1
else:
代码段n
b. 说明
elif - 关键字;在前面的条件下不满足的前提下,判断其他条件是否满足
c. 执行过程:先判断条件语句1是否成立,如果成立直接执行1,然后整个if结构结束,接着执行其他语句;
如果条件语句1不成立,再判断条件语句2是否成立,是,就直接执行,然后整个if结构结束,接着执行其他语句;
以此类推,如果条件语句都不成立,就执行else后的代码段n
注意:后面的条件语句的判断都是在前面的条件不成的前提下执行。else不一定写,有时候可以没得。

print('=================')
print('欢迎你的到来')
print('\t1、添加学生')
print('\t2、查看学生')
print('\t3、修改学生信息')
print('\t4、删除学生')
print('\t5、返回')
print('=================')
num = (input('请输入:'))
if num == '1':
    name = input('请输入姓名')
    tel = input('请输入电话')
    age = input('请输入年龄')
elif num == '2':
    input('请输入要查看学生的名字')
elif num == '3':
    print('目前正字啊修改学生信息')
elif num == '4':
    print('目前正在删除学生信息')
elif num == '5':
    print('退出')
else:
    str1 = """
=================
欢迎你的到来
    1、添加学生
    2、查看学生
    3、修改学生信息
    4、删除学生
    5、返回
=================
"""
    print(str1)

二、 如何使用if

1、 if的嵌套

在if结构中还可以再写if结构
判断一个数就打印偶数,在判断能否被4整除,是就打印是

不是偶数就打印是奇数

num = int(input('请输入一个数:'))
if num % 2 == 0:
    print('%d是偶数' % num)
    #嵌套的if只有在外面的if执行的时候才会判断
    if num % 4 == 0:
        print('%d是4 的倍数' % num)
else:
    print('%d是奇数' % num)
    if num % 3 == 0:
        print('%d是三的倍数' % num)

2、 python的三目运算符

C/JAVA/JS 中有一个三目运算符:
表达式?值1:值2 - 判断表达式的值是否为True,为True表达式的结果是值1,否则为值2
python中的三目运算符:值1 if 表达式 else 值2 -
为True表达式的结果是值1,否则是值2.

num1 , num2 = 10 ,100
print(num1 if num1 > num2 else num2)

确定年份是否是闰年,是就输出是,不是就输出不是

num1 = 1900
if num1 % 100 != 0:
    if num1 % 4 == 0 :
        print('%d是闰年' % num1)
elif num1 % 400 == 0 :
    print('%d是闰年' % num1)
else:
    print('%d不是闰年' % num1)

三、 for循环

python中的循环分为:for循环和while循环

1、 为什么要使用循环

当实现某个功能的时候发现某个操作需要重复执行,这个时候就考虑使用循环

2、 for

a. 语法
for 变量 in 序列:
循环体
b. 说明
for - 关键字
变量 - 一个变量名,可以是已经赋值给的变量也可以是新的变量(一般是新的变量)
in - 固定写法
序列 - 属于序列的数据;python中的序列有:字符串,列表,
字典,集合,元祖,range,迭代器,生成器
: - 固定写法,和缩进是一起的
循环体 - 和foe保持一个缩进的代码段
c. 执行过程(重要)
让变量去序列中取值,一个一个的取,取完为止。每取一个值就执行一次循环体

统计字符串’hosee 23jh!hs89_=sssAsK‘中有多少个数字字符

i = 0
for char in 'hosee 23jh!hs89_=sssAsK':
    if char.isdigit():
        i += 1
print('有%d个数字字符' % i)

3、 rangge函数

range(N) - 产生数字序列 0 - N-1 (N为整数且N>0)
range(M,N) - 产生数字序列 M - N-1 (N为整数且N>M)
range(M,N,step) - 从M开始,每次值加step产生下一个数。
step > 0 ,N > M;step < 0 ,N < M

计算从1叫到100的和,能整除13或7的数的和

sum1 = 0
sum2 = 0
for num1 in range(1,101):
    sum1 += num1
    if num1 % 13 == 0 or num1 % 7 == 0:
        sum2 += num1
print('一加到一百的和是:%d,能整除13或7的数的和:%d' % (sum1, sum2))

4、 以遍历字符串字符的下标的方式遍历字符串

str1 = 'hello world'
for index in range(len(str1)):
    print(str1[index])
print('===========')
for index in range(-1,-len(str1)-1,-1):
    print(str1[index])

四、while循环

1、 while

a. 语法
while 条件语句:
循环体
其他语句
b. 说明
while - 关键字:当……的时候
条件语句 - 和if后边的要求一样(赋值语句不行,别的语句都行)
: - 固定写法

循环体 - 和while保持一个缩进的需要重复执行的代码段
c. 执行过程
当程序执行到while循环,就先判断条件语句是否为True,为Ture就执行一次循环体再判断条件语句是否为Ture,
为True,又执行循环体……以此类推,指导判断条件语句的结果为False,循环结束。直接执行后面你的其他语句。

for和while的选择:
严格来说:for循环可以做到的while都可以做到,while能做到的for不一定能做
使用for: a. 遍历序列 b. 循环次数确定
使用while: a. 死循环 b.循环次数不确定

用while遍历字符串

num = 0
s1 = '12dfsfs'
while num < len(s1):
    print(s1[num])
    num += 1

录入学生的成绩,输入'end'来结束

a = input('请输入成绩:')
while a != 'end':
    a = input('请输入成绩:')

输入的数字至少是六位

a = input('请输入密码:')
while len(a) < 6:
    print('密码不足六位')
    a = input('请输入密码:')
print('输入成功')

五、循环里面的关键字

1、 continue

contine是python关键字,只能用在循环体中。
功能:用来结束当次循环,直接进入下次循环的判断.
for循环就是让变量去取下一个值

x = 0
while x < 20:
    x += 1
    if x % 5 != 0:
        continue
    print(x)

2、 break

break是python关键字,只能用在循环体中
功能:执行循环体的时候,遇到break就结束

找到大于11的数字当中第一个能够同时被17整除的数

x = 111
while True:
    if x % 17 == 0:
        print(x)
        break;
    x += 1

3、 else

for 变量 in 序列:
循环体
else:
代码段

while 条件语句:
循环体
else:
代码段

执行过程:循环执行过程不变,else后面的代码段,
如果循环是正常救赎就会执行;如果遇到break而结束,就不会执行。

for x in range(1,10):
    print(x)
else:
    print(123)

x = 1
while x != 2:
    x += 1
else:
    print(123)
上一篇 下一篇

猜你喜欢

热点阅读