Python第六次课

for循环

python中的for循环和C语言for循环不一样。

龟叔在设计python时,尽可能的减少重复的各种语法,所以将其他编程语言的三种循环减少到一种,就是while循环,设计是发现了新的问题,无法遍历无序数据,就引入了for循环,该for循环是一种迭代的概念,能够迭代无序数据,完成无序数据的遍历。

有序数据的遍历:

a = [1, 2, 3, 555, 5]
>>> i = 0
>>> len(a)
5
>>> i = 0
>>> while i < len(a):
...     print(a[i])
...     i += 1
...
1
2
3
555
5

在开发中,存在一种无序的容器【哈希表】,不能使用下标,就无法使用下标来遍历:

 s = {1, 2, 3, 555, 5}
 >>> i = 0
>>> while i < len(s):
...     print(s[i])
...     i += 1
...
Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
TypeError: 'set' object is not subscriptable

for的语法结构:

for 临时变量 in 容器:
    # 每一次循环时,迭代出的子元素,会临时的保存在临时变量中
[else:
    # 只有循环正常结束,才会进入else中
]   
>>> for i in s:
...     print(i)
...
16
1
2
3
5
10
555

当然也可以迭代有序的:

>>> for _ in a:
...     print(_)
...
1
2
3
555
5

在for被创建之后,发现一个问题,for一般和容器配合使用,想要直接进行循环运算反倒比较麻烦,如:求1~100的和。

range函数

range是一个全局函数,是python提供给for循环使用,用来加强for循环的使用。

range返回可迭代对象。是一个范围内的可迭代对象。

  • range(num) # [0, num) 区间内的所有整数

  • range(start, end) # [start, end) 区间内的所有整数

  • range(start, end, step) # step表示步长,默认是1,可以自定义,可以是负数,如果是负数,表示减

>>> # 0~10的和
>>> s = 0
>>> for i in range(11):
...     print(i)
...
0
1
2
3
4
5
6
7
8
9
10
>>> for i in range(11):
...     s += i
...
>>> s
55
​
>>> # 10 ~ 20
>>> for j in range(10, 21):
...     print(j)
...
10
11
12
13
14
15
16
17
18
19
20
​
>>> # 10 ~ 20 的偶数
>>> for i in range(10, 21):
...     if i % 2  == 0:
...             print(i)
...
10
12
14
16
18
20
>>> for i in range(10, 21, 2):
...     print(i)
...
10
12
14
16
18
20
​
>>> for i in range(10, -1, -1):
...     print(i)
...
10
9
8
7
6
5
4
3
2
1
0
>>> for i in range(10, 0, -1):
...     print(i)
...
10
9
8
7
6
5
4
3
2
1

课堂案例练习:

  1. 使用for循环输出九九乘法表

  2. 使用for求出50~100的奇数和和偶数和

  3. 输入一个正整数(>1),判断该数是否是质数

  4. 输入行数,在控制台上输出对应的图案

*
***
*****
*******
*********
​
​
​
    *
   **
  ***
 ****
*****
​
​
​
    *
   ***
  *****
 *******
*********
​
​
​
*********
 *******
  *****
   ***
    *
    
    
    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *
    
    
    *
   * *
  *   *
 *     *
*       *
 *     *
  *   *
   * *
    *
    
        
    *
   ***
  * * *
 *  *  *
*********
 *  *  *
  * * *
   ***
    *
    
  1. 存在一个三位数ABC,这个数的个位是3,十位是个位的倍数,百位都等于个位和十位之和,求符合条件的所有三位数Python实现

  2. 鸡兔同笼问题:有若干只鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚。问笼中各有多少只鸡和兔

  3. 猜数字游戏: 电脑随机生成一个0~100这个范围内的整数,用户来猜,会给对应的提示

  4. 计算器: 请输入两个数和一个符号,完成两个数的+ - * / % // **

  5. 让用户输入一个月份,判断这个月是哪个季节?假定3到 4月是春季,5到8月是夏季,9到10是秋季,11、12、1、2 月是冬季

  6. 提示用户输入用户名,然后再提示输入密码,如果用户名 是“admin”并且密码是“88888”,则提示正确,否则,如果 用户名不是admin还提示用户用户名不存在,如果用户名是 admin则提示密码错误。

  7. 有一些四位数,百位数字都是3,十位数字都是6,并且它们既能被2整除,又能被3整除,求这样的四位数中最大的和最小的两数各是几?

  8. 编程求一个四位自然数ABCD,它乘以A后变成DCBA

  9. 用户输入两个数a、b。如果a能被b整除或a加b大于1000,则输出a;否则输出b

  10. 输入赵本山的考试成绩,显示所获奖励 成绩==100分,爸爸给他买辆车 成绩>=90分,妈妈给他买MP4 90分>成绩>=60分,妈妈给他买本参考书 成绩<60分,什么都不买

  11. 请输入一个数,判断这个数是偶数还是奇数,如果使用偶数,请判断从1到该数是3的倍数有哪些,如果是奇数,请判断从1到该数是5的倍数有哪些

  12. 输入三边的长度,求三角形的面积和周长(海伦公式)

  13. 某商店T恤的价格为35元/件(2件9折,3件以上8折),裤子的价格为120 元/条(2条以上9折).小明在该店买了3件T恤和2条裤子,请计算并显示小明应该付多少钱?

  14. 输入一个年份,判断该年是否是闰年

图一:

图二:

图三:

图四:

图五:

图六:

作业5:

作业6:

作业7:

作业8:

作业9:

作业10:

作业11:

作业12:

作业13:

作业14:

作业15:

作业16:

作业17:

作业18:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值