第八天-if,while,for了解

本文详细介绍了Python编程语言的基础语法,包括缩进规则、if条件判断、while循环、for循环的使用方法及注意事项,并对比了range与xrange的区别,同时演示了break和continue关键字的应用场景。

1)python的缩进

一级目录下面的子目录,建议使用Tab键的方式。

a = 1
if a>10: #if条件后面需要加上“冒号(:)”
    print('aaa') #如果满足条件,输出结果aaa;不满足,则输出结果:bbbb
print('bbbb')  #

这里写图片描述

尤其请注意if语句结尾所使用“:”,不然会报错。

2、if条件判断
if后面跟条件进行判断,如果后面为真,才执行if后面缩进的代码,如果条件为假,就直接跳过if语句。

这里写图片描述

格式:
if判断条件:
执行语句……
else:
执行语句……

a = 0
if a < -1:# 这里最好能够加上一个空格,就不会出现任何提示;
    print('a是负数')#如果是条件下面的print,必须进行缩进。否则报错
elif a == 0:
    print('a等于0')
else:
    print('a是正数')

这里写图片描述

3、while

格式:
while 判断条件
执行语句……

这里写图片描述

x = 10
while x > 0:
    print('111111')
    print('222222')
    print('333333')
    x -= 1 #执行一次,条件x的值在减一的操作

这里写图片描述

最终会被执行10次。

说明:
while在执行的死后,先看判断语句,只要为真,就执行语句,执行语句以后,在执行判断语句,一般都会在判断条件这里设置一个变量,在执行语句的时候对这个变量进行操作,一直执行到判断条件为假时,退出,执行后面的代码。
如果刚开始判断就为假,则直接跳过while

m = 10
print("###########this is project start###########")
while m > 0:
    #print('m=' + str(m))#两种print的方式都可行
    print('m = %d' %m)
    m -= 1
print("##########this is project end#############")

这里写图片描述

这里写图片描述

4、for
for循环主要在工作中用来遍历列表,字符串,文件等操作,for循环默认是循环到元素完为止,for循环的格式如下:
for iterating_var in sequence:
statements(s)

流程图
这里写图片描述

a = dict(a=1, b=2, c=3, d=4)
l = list("lingxiangxiang")
print(a)
# print(dir(a))
for k1, k2 in enumerate(l):
    print(k1, k2)#跟下面的语句输出结果一致,
    print(k1, l[k1])#l[k1]就相当于k2
print('############' * 8)
# print(enumerate(a))
# for key1, value1 in enumerate(a): #euumerate是用来下标和键值的关系
#     print(key1, value1)

这里写图片描述

5、range和xrange

# print (range (1, 100))#一次性生成所有的数据,占用大量内存
# print('@@@@@@@@@' * 10)
print (xrange(1, 100)) #用的时候,才会生成;推荐使用此种方法进行程序编辑。
print(type(range(1, 100)))

for i in xrange(1, 3):
    print i#以下三种方式生成的结果,两个一模一样,最后有点区别
    print(i)
    print(i,)

这里写图片描述

6、break和continue

for i in xrange(1, 11):
    # print i
    if i == 3:
        print('hello world')#用hello Word取代i=3
        # continue#直接进入下一次的循环,不在往下
        # break #直接终止所有循环,彻底结束循环
    print('i=%d' %i)#i=%d 后面不能逗号“,”否则会报错

这里写图片描述

这里是把if的条件判断执行,也是也输出了i=3的值。不是我们所希望的结果

这里写图片描述

这里写图片描述

### 三种循环结构的特点与区别 #### **for循环** - **特点**:`for`循环适用于已知循环次数的情况,因为它可以在初始化表达式中设置计数器。其语法结构允许在单中完成初始化、条件判断和更新操作。 - **语法格式**: ```c for (初始化; 条件; 更新) { // 循环体 } ``` - **优势**:代码简洁,逻辑清晰,适合处理固定次数的循环任务。 #### **while循环** - **特点**:`while`循环适用于循环次数未知,但循环条件已知的情况。它先检查循环条件表达式,如果为真,则执循环体;否则不执- **语法格式**: ```c while (条件) { // 循环体 } ``` - **优势**:灵活性高,适用于需要根据条件动态控制循环的情况。 #### **do-while循环** - **特点**:`do-while`循环首先执循环体,然后检查循环条件表达式。如果条件为真,则再次执循环体,直到条件为假时退出循环。因此,`do-while`循环至少执一次循环体[^1]。 - **语法格式**: ```c do { // 循环体 } while (条件); ``` - **优势**:确保循环体至少执一次,适用于需要先执后判断的场景。 --- ### **主要区别** | 特性 | `for`循环 | `while`循环 | `do-while`循环 | |---------------------|-----------------------------------|-----------------------------------|----------------------------------| | **适用场景** | 已知循环次数 | 循环次数未知,条件已知 | 循环次数未知,且至少执一次 | | **条件判断时机** | 先判断条件,再执循环体 | 先判断条件,再执循环体 | 先执循环体,再判断条件 | | **是否可能不执** | 可能一次都不执 | 可能一次都不执 | 至少执一次 | | **死循环风险** | 可能出现 | 可能出现 | 可能出现 | 例如,在以下代码片段中展示了`while`和`do-while`循环的为差异: ```c #include <stdio.h> int main() { int n = 10; // while循环:条件初始为假,不执 while (n > 10) { printf("while: %d\n", n); // 不执 n++; // 不执 } // do-while循环:条件初始为假,仍执一次 n = 10; do { printf("do-while: %d\n", n); // 第一次输出 10 n++; // 每次循环将 n 增加 1 } while (n > 10); // 执后 n 变为 11,条件恒为真,导致死循环 } ``` 此示例表明,`while`循环在条件不满足时不会执任何操作,而`do-while`循环即使条件不满足也会执一次循环体[^4]。 --- ### **如何中途跳出循环** - **`break`语句**:用于终止循环并跳出到循环外的语句。它可以用于`switch`结构和循环结构中。 - **`continue`语句**:用于跳过当前循环体中剩余的语句,直接进入下一次循环。只能用在循环结构中。 例如: ```c for (int i = 0; i < 10; i++) { if (i == 5) { continue; // 跳过i等于5的循环 } printf("%d ", i); // 输出0 1 2 3 4 6 7 8 9 } printf("\n"); int j = 0; while (j < 10) { if (j == 7) { break; // 当j等于7时终止循环 } printf("%d ", j); // 输出0 1 2 3 4 5 6 j++; } ``` --- ### **foreach循环(扩展)** - **特点**:`foreach`循环是基于数组或集合中的每个元素进循环的结构。它简化了遍历数组或集合的操作。 - **语法格式**(以C#为例): ```csharp foreach (var item in collection) { // 处理item } ``` - **优势**:避免手动管理索引,减少错误,适用于集合类型的遍历[^5]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值