让"爱"再来 之 for语句
-
循环语句
- for 语句
- while 语句
-
练习
- 写程序, 输入一个整数, 判断这个数是 奇数还是偶数
- 能被二整除的数是偶数
- 不能被二整除的数是奇数
- 示例: 见 even_odd.py
- 写程序, 输入一个整数, 判断这个数是 奇数还是偶数
-
input() 函数, 等待用户输入,返回用输入的字符串
- 格式: input(“提示语”)
-
赋值语句
-
作用,使用变量来记录一个表达式执行的结果
-
语法格式:
-
变量名 = 表达式
-
例如:
san = 1 + 2 pi = 3.1415926535897932
-
-
-
int() 函数, 将符合整数写法规则的字符串转化为整数返回
-
for 语句
-
作用: 对可迭代对象进行访问,并能够一次获取数据
扫描二维码关注公众号,回复: 11300661 查看本文章 -
语法:
for 变量列表 in 可迭代对象: 语句块1 else: 语句块2
-
说明
- else 子句部分可以省略
- else 子句会在 可迭代对象 不在提供数据时执行
-
示例:
# 用for 来遍历 字符串 for x in "我爱你一万年": print(x) else: print("访问字符串结束!!!!") # 用for 语句来遍历 列表 for y in ["魏老师", "老魏", "小魏"]: print("y=", y) # 用for语句来遍历字典,变量只能绑定字典的键 mydict = {"name": "魏明择", "age": 35, "address": "北京市朝阳区"} for key in mydict: print("key=", key, "value=", mydict[key])
-
-
学过的可迭代对象:
- 字符串
- 列表
- 字典
- 元组
- …
-
变量名:
字母或下划线开头,后跟0个,1个或多个 字母、下划线或数字
- 例如:
- x a1 result a_b _a1 my_name
- 例如:
-
range函数
-
作用: 返回一个整数序列生成器,生成器可以获取到一系列整数
-
格式:
- range(stop)
- range(start, stop [, step ])
-
说明
- range 会生成 从start 开始, 到 stop结束(不包含stop), 步长为 step 的整数
- 如果没有start , start 默认为0
- 如果没有step , step 默认为 1
-
示例
range(5) # 生成 0 1 2 3 4 range(3, 6) # 生成 3 4 5 range(1, 10, 3) # 生成 1, 4, 7 for x in range(3, 6): print(x) # ....
-
-
质数算法
-
质数也叫素数(prime), 只能被 1 和自身整除的数是素数,素数都是大于等于2 的整数
-
2 = 1 x 2 3 = 1 x 3 4 = 1 x 4 4 = 2 x 2 # 四不是素数 7 = 1 x 7 1092323892389283
-
需求:
- 写程序,输入一个整数,判断这个数是否是素数
-
思路
- 判断 x 是否是素数, 只需要 用 x 分别处以 2, 3, 4, 5. … (x-1), 如果有一次被整除了,那么x 不是素数, 当 上述所有数字 都不能被整除, 则 x 是素数
-
-
break 语句
-
作用:
- 用于循环语句内部,当break 执行时,他会终止包含他的当前循环
-
说明:
-
break 执行时,包含他的循环语句立即结束,循环语句内部,所有break后面的语句不再执行。
-
如果一个循环语句是因为 break 语句执行结束的,那么,这个循环语句的 else 子句内部的语句不会执行
for x in range(5): print(x) if x == 3: break else: print("我是for 语句里的 else 子句,我被执行了")
-
-
思考题
能否写程序,把 10000 以内的 素数都打印出来 能否把 10000 以内的素数都放在一个列表内共后续使用