day5-分支和循环总结

2018-11-09  本文已影响0人  2333_11f6

5.1 分支结构

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

5.1.1 if语句

if后面可以写哪些语句

注意:赋值语句不能写在if后面,其他都可以。

num = 10
if num & 1 == 0:
    print('%d是偶数' % (num))
    print('========')              # 和if保持一个缩进的语句是在条件成立才执行
                                  # 与if无关的语句最好换个行
print('##########')           # 在if外面的语句不管if条件是否成立都会执行


if 'ADS'.isupper():
    print('全是大写')  #不执行

# 练习:随机产生一个年龄值,如果大于等于18就打印成年。
import random
age = random.randint(0,100)
if age >= 18:
    print('%d已经成年了。' %(age))
else:
    print('未成年')
print(age)

5.1.2 if-else

#随机产生一个整数,如果是奇数打印’***是奇数‘,否则,反之。
num = random.randint(0,9999)
if num & 1:
    print('%d是奇数' %(num))
else:
    print('%d是偶数' %(num))

5.1.3 if-elif-else

# score 60以下不及格 60-70及格 71-89良好 90以上优秀
score = random.randint(0,100)
print('成绩为%d:' %(score),end="")
if score < 60:
    print('不及格')
elif score <= 70:
    print('及格')
elif score <= 89:
    print('良好')
else:
    print('优秀')

5.1.4 if嵌套

可以在if,elif,else后面的代码段中,都可以再写其他的if语句。

#判断一个数字是否为偶数,是的话判断是否被4整除
score = random.randint(0,100)
if score & 1:
    print('%d是奇数' %score)
else:
    if score % 4 == 0:
        print('%d是4的倍数' % score)
    else:
        print('%d是偶数' %score)
"""
练习:输入一个字符串,判断字符串的第一个字符是否是字母,如果是,打印’以字符开头'。
如果这个字母是大写的再打印’大写字母‘。
"""
str1 = input('请输入一串字符:')
if str1[0].isalpha():    #if 'a' <= str1[0] <= 'z' or  'A' <= str1[0] <= 'Z':
    print('以字母开头')
    if str1[0].isupper():          #'A' <= str1[0] <= 'Z':
        print('大写字母')
else:
    print('什么都不打印')

'''
l = []
num = 0
while num <= 888:
    num = random.randint(0, 999)
    l.append(num)
print(l)
'''

5.2 for循环

python中的循环结构有两种:for和while循环。
什么时候用循环:某个操作需要重复执行,就考虑用循环。

5.2.1 for循环

for x in range(97,123):
    print(chr(x), end='--->')

for x in 'abc':
    print(x)
    print('##$$#$$#$#')

5.2 range

range(n) -- 产生一个数字序列,序列内容是0~n-1(结果是一个序列)
range(m,n) -- 产生一个数字序列,序列内容是m~n-1,m<n(结果是一个序列)
range(m,n,step) -- 产生一个数字序列,序列从m开始,每次加step直到n前为止,取不到n。
range一般用在:
1.需要产生指定范围的数字序列
2.单纯的控制for循环的循环次数

for num in range(10):
    print(num, end='')
print()
for num in range(10, 20, 2):
    print(num, end='--->')

#练习:求1+2+。。+100
sum1 = 0
for num in range(1, 101):
    sum1 += num
print(sum1)
print(sum([1, 2, 3]))

#练习:2+4+6+8+。。。+100
#方法1:不用if
sum1 = 0
for num in range(1, 51):      # range(2,101,2)
    sum1 += num*2
print(sum1)
#方法2:用if
sum2 = 0
for num in range(1, 101):
    if not num &1:
        sum2 += num
print(sum2)
"""
    if num & 1:
        pass
    else:   
     sum2 += num
"""

#练习:写程序统计一个字符串中数字字符的个数
str1 = input('请输入一个字符串:')
sum1 = 0
for i in str1:
    if '0' <= i <= '9':
        print(i)
        sum1 += 1
print('数字字符的个数是:', sum1)

#用循环控制打印10行”*“
for _ in range(1,10):
    print('*')

for x in range(1, 10):
    print('*'*x)

5.3 while

5.3.1 while循环

#1*2*..*10
num = 1
sum1 = 1
while num <= 10:
    sum1 *= num
    num += 1
print(sum1)
print(1*2*3*4*5*6*7*8*9*10)

#获取字符串abc123中的每个字符
str1 = 'abc123'
num = 0
while num <= 5:
    print(str1[num])
    num += 1

5.3.2 for和while循环

python中,for循环能做到的while循环都能做到;但是while循环能做的,for循环不一定能做到。

#练习:程序不断的输入,知道为0为止
i = input('请输入:')
while i != '0':
    i = input('请输入:')

5.4 continue,break和else

5.4 .1 continue

5.4 .2 break

5.4.3 else python中特有

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

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

for x in range(10):
    print(x)
else:
    print('for循环结束')
上一篇 下一篇

猜你喜欢

热点阅读