Python3学习——条件控制、循环语句与迭代器

目录

一、编程第一步——斐波那契数列

二、条件控制

(一)if/else语句

判断狗狗的年龄:

 (二)多层if/else嵌套

判断数字能否被2或3整除:

 (三)match...case匹配——python3中新增

根据数字判断星期:

三、循环语句

(一)while循环

1.循环+2:

2.while计算1~100的和:

3.无限循环:

4.while...else循环:

5.猜数字游戏:

6.判断狗狗年龄代码优化:

 (二)for循环

1.for循环遍历列表:

2.for循环遍历字符串:

3.遍历[1,10):

4.打印5个星星:

5.打印5行5列星星 :

(三)for...else循环

(四)range()函数

1.左闭右开区间:

2.设置区间步长:

3.结合 range() 和 len() 函数以遍历一个序列的索引:

(五)break和continue

1.break终止循环:

2.continue遇到条件跳过:

(六)pass语句

pass使用案例:

四、迭代器

代码示例:


一、编程第一步——斐波那契数列

a = 0
b = 1
while b < 10:
    print(b, end=',')
    a, b = b, a + b

运行结果:

二、条件控制

(一)if/else语句

if 条件1:

        运行结果1

elif 条件2:

        运行结果2

else:

        运行结果3

判断狗狗的年龄:

age = int(input('请输入狗狗的年龄:'))
if age <= 0:
    print('输入错误!')
elif age == 1:
    print('相当于14岁的人')
elif age == 2:
    print('相当于22岁的人')
elif age > 2:
    human = 22 + (age - 2) * 5
    print('对应人类的年龄为:', human)

运行结果:

 (二)多层if/else嵌套

判断数字能否被2或3整除:

num = int(input('请输入一个整数:'))
if num % 2 == 0:
    if num % 3 == 0:
        print('数字既能被2整除,也能被3整除')
    else:
        print('数字能被2整除,但是不能被3整除')
else:
    if num % 3 == 0:
        print('数字能被3整除,但是不能被2整除')
    else:
        print('数字不能被2和3整除')

 (三)match...case匹配——python3中新增

根据数字判断星期:

num = int(input('请输入1~7之间的整数:'))
match num:
    case 1:
        print('星期一')
    case 2:
        print('星期二')
    case 3:
        print('星期三')
    case 4:
        print('星期四')
    case 5:
        print('星期五')
    case 6:
        print('星期六')
    case _:
        print('星期日')

 case _: 类似于 C 和 Java 中的 default:,当其他 case 都无法匹配时,匹配这条,保证永远会匹配成功。

三、循环语句

(一)while循环

在 Python 中没有 do..while 循环

1.循环+2:

num = int(input('请输入一个数字:'))
while num < 20:
    print(num, end=',')
    num += 2

2.while计算1~100的和:

num = 0
counter = 1
while counter <= 100:
    num = num + counter
    counter += 1
print('1~100之间的和为:%d' % num)  # 1~100之间的和为:5050

3.无限循环:

num = 1
while num == 1:
    count = int(input('请输入一个数字:'))
    print('数字为', count)

4.while...else循环:

count = 1
while count <= 10:
    print('count的值为:', count)
    count += 1
else:
    print('count超出范围!')

5.猜数字游戏:

num = 12
guessnum = -1
print('数字猜谜游戏:')
while guessnum != num:
    guessnum = int(input('请输入猜测的数字:'))
    if guessnum > num:
        print('猜大了!')
    elif guessnum < num:
        print('猜小了!')
    else:
        print('猜对了!')

6.判断狗狗年龄代码优化:

dogAge = 16
age = -1
while age <= dogAge:
    age = int(input('请输入狗狗的年龄(<=16):'))
    if age <= 0:
        print('输入错误!')
    elif age == 1:
        print('相当于14岁的人')
    elif age == 2:
        print('相当于22岁的人')
    elif 2 < age <= 16:
        human = 22 + (age - 2) * 5
        print('对应人类的年龄为:', human)
    else:
        print('年龄超过狗狗寿命范围!')

 (二)for循环

for <变量> in <序列>:

         <代码段>

else:

        <代码段>

1.for循环遍历列表:

# for 循环可以遍历任何可迭代对象,如一个列表或者一个字符串。
sites = ['java', 'mysql', 'oracle', 'hadoop']
for tup in sites:
    print(tup, end=',')

运行结果:

2.for循环遍历字符串:

string = 'hello'
for i in string:
    print(i)

运行结果:

3.遍历[1,10):

for i in range(1, 10):
    print(i, end='\t')

运行结果:

4.打印5个星星:

for i in range(5):
    print('*')

运行结果:

5.打印5行5列星星 :

for i in range(5):
    print('*'*5)

运行结果:

(三)for...else循环

for i in range(5):
    print('*'*5)
else:
    print('打印完毕!')

(四)range()函数

在之前的代码中已经有部分range()函数的功能实现,range()函数还有其他的功能

1.左闭右开区间:

for i in range(5, 10):
    print(i)

运行结果:

2.设置区间步长:

for i in range(1, 10, 2):
    print(i)

 运行结果:

for i in range(-1, -15, -3):
    print(i)

运行结果:

3.结合 range() 和 len() 函数以遍历一个序列的索引:

sites = ['java', 'mysql', 'oracle', 'hadoop']
for i in range(len(sites)):
    print(i, sites[i])

 运行结果:

(五)break和continue

break 语句可以跳出 for 和 while 的循环体。如果从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。

 

continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

1.break终止循环:

num = 10
while num > 1:
    num -= 1
    if num % 2 == 0:
        break
    print(num)

运行结果:

判断1~100以内的质数:

for i in range(1, 101):
    for x in range(2, i):
        if i % x == 0:
            break
    else:
        print(i, end=',')

 运行结果:

2.continue遇到条件跳过:

num = 10
while num > 1:
    num -= 1
    if num % 2 == 0:
        continue
    print(num)

运行结果:

(六)pass语句

pass是空语句,是为了保持程序结构的完整性。

pass 不做任何事情,一般用做占位语句,相当于输出程序中continue的结果

pass使用案例:

for i in 'ncidsijvb':
    if i == 'i':
        pass
        print('执行pass')
    print(i)

运行结果:

四、迭代器

迭代是Python最强大的功能之一,是访问集合元素的一种方式。

迭代器是一个可以记住遍历的位置的对象。

迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。

迭代器有两个基本的方法:iter()next()

字符串,列表或元组对象都可用于创建迭代器

代码示例:

下面代码的运行结果一样:

sites = [1, 2, 3, 4]
for i in sites:
    print(i)
#####################################

sites = [1, 2, 3, 4]
it = iter(sites)
for i in it:
    print(i)

#####################################

import sys

sites = [1, 2, 3, 4]
it = iter(sites)
while True:
    try:
        print(next(it))
    except StopIteration:
        sys.exit()

运行结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值