概述
for 语句
作用:
用来遍历可迭代对象的数据元素
可迭代对象是指能依次获取数据元素的对象
可迭代对象包括:
字符串 str
----以下内容以后再讲------
列表 list
元组 tuple
字典 dict
集合 set
range 函数返回的对象等
语法:
for 变量列表 in 可迭代对象:
语句块1
else:
语句块2
练习:
1.任意输入一个字符串:
计算出您输入的空格的字符,并打印出来
计算您输入的'a' 字符的个数,并打印出来 (要求用for语句实现)
k = input("请输入字符串")
n = 0
for m in k:
if m == "a":
n += 1
print(n)
思考:
用while语句能否实现上述功能?
range 函数
格式:
见:>>> help(range)
函数
range(stop)
从零开始,每次生成一个整数后加1操作,直到stop为止(不包含)
range(start,stop[,step])
从start开始,每次生成一个整数后移动step,直到stop为止(不包含stop,且step可以是负整数)
作用:
用来创建一个生成一系列整数的可迭代对象(也叫整数序列生成器)
示例:
range(4) # 生成0,1,2,3
range(3,6) # 生成3,4,5
range(1,10,2) # 生成1,3,5,7,9
range(5,0,-2) # 生成5,3,1
range(4,0) # 生成空
练习:
1 用for 语句打印 1 ~ 20 ,打印在一行内
for x in range(1,21):
print(x,end = " ")
print( )
2.用for 语句打印 1 ~ 20 , 每5个打印在一行内
for x in range(1,21):
print(x,end = " ")
if x % 5 ==0:
print()
print()
3.求 100 以内在哪些数与 自身+1 的乘积对11求余的结果等于8
for a in range(1,101):
b = a * (a + 1) % 11
if b == 8 :
print(a)
4.计算 1 + 3 + 5 + 7 + ... + 97 + 99 的和分别用for和while 循环语句来实现
s = 0
for a in range(1,100,2):
s += a
print(s)
for 语句的注意事项:
请问下面程序的打印结果是什么:
i = 6
for x in range(1,i):
print('x =',x,'i=',i)
i -= 1
结果:
x = 1 i= 6
x = 2 i= 5
x = 3 i= 4
x = 4 i= 3
x = 5 i= 2
如下语句的执行结果是什么?为什么?
for x in range(4,0):
print(x)
print('x绑定',x)
出错
for 语句的嵌套
示例:
for x in "ABC":
for y in '123':
print(x + y) # A1,A2,A3,B1,B2....
思考:
for x in range(5)
for y in range(10)
练习:
1.输入一个整数n,打印一个对应的正方形:
如:
请输入:5
打印:
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
请输入: 3
打印:
1 2 3
1 2 3
1 2 3
n = int(input('请输入一个整数'))
for line in range(n):
for a in range(1,n+1):
print(a,end = '')
print()
2.输入一个整
数n,打印一个对应的正方形:
如:
请输入:5
打印:
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9
n = int(input('请输入一个整数'))
for line in range(n):
for a in range(line +1,n + line + 1):
print('%02d' % a,end = ' ')
print()
问题
如何让程序不再向下执行,重新开始一次新的循环
continue 语句
用于循环语句中(while,for语句)中,不再执行本次循环continue之后的语句,重新开始一次新的循环
说明:
1.在for 语句中执行continue 语句,将会从可迭代对象中取下一个元素,绑定变量后再次开始执行
2.在while语句中执行continue,将会直接跳转到while语句的真值表达式出重新判断循环条件
练习:
输入一个起始数,用start绑定,输入一个结束数用stop绑定,打印start 到 stop(不包含stop)内的所有奇数
start = int(input('请输入一个起始数:'))
stop = int(input('请输入一个结束数:'))
for a in range(start,stop) :
if a % 2 == 0:
continue
print(a)
练习:
2. 求1 ~ 100 之间所有不能被5 , 7, 11整除的数以及这些数的和
s = 0
for a in range(1,100):
if a % 5 == 0 or a % 7 == 0 or a % 11 == 0:
continue
s += a
print(a,end=" ")
print()
print('这些数的和是:',s)
循环语句总结:
while 语句
可以死循环
for 语句
用于可迭代对象的循环
(字符串,range()返回的对象)
break 语句:
用于终止当前循环
continue 语句
用于开始一次新的循环
列表 list
定义:
列表是一种容器
列表是序列的一种
列表是可以被改变的序列
列表中由一系列特定元素组成的,元素与元素之间可以没有任何的关联关系,但他们之间由先后顺序关系
创建空列表的字面值
L = [ ] # L 变量绑定空列表
创建非空列表的字面值
L = [1,2,3,4 ]
L = ['Beijing','shanghai','shenzhen']
L = [1,Two,3.14,'四' ]
列表的构造(创建)函数 list
list() # 生成一个空的列表,等同于[]
list(iterable) # 用可迭代对象创建一个列表
示例:
L = list() # L绑定空列表
L = list("hello") # L 绑定['h','e','l','l','o']
L = list(range(1,10,2))
列表的运算:
+ += * *=
+ 用于拼接列表
x = [1,2,3]
y = [4,5,6]
z = x + y # z = [1,2,3,4,5,6]
+= 用原列表与左侧列表拼接,用变量绑定拼接后的列表
x = [1,2,3]
x += [4,5,6]
print(x)
* 生成重复的列表
x = [1,2] * 3 # x = [1,2,1,2,1,2]
x *= y 等同于 x = x * y
列表的比较运算:
运算符:
< <= > >= == !=
比较的规则同字符串的规则相同
x = [1,2,3]
y = [1,2,4]
x != y # True
x <= y # True
y > x # True
["AB",'abc','123'] < ['AB','123','abc'] # False ('abc' < '123')
[1,'two'] > ['two',1] # TypeError
列表的 in / not in 运算符
作用:
判断一个值是否存在与列表中,如果存在返回True,否则返回False
not in 的返回值与 in 运算符相反
示例:
2 in [1,2,3,4] # True
'2' in [1,2,3,4] #False
列表是可迭代对象:
for x in [2,3,5,7]:
print(x) # x绑定列表内的元素
练习:
1.输入三行文字,将这三行文字保存与列表L中,并打印:
如:
请输入:abc<回车>
请输入:1234<回车>
请输入:你好<回车>
生成如下列表:
['abc','1234','你好']
print(L) # 打印
2.输入任意行文字,存于列表L中,当不输入任意内容回车后退出输入,
1)打印L列表中的内容
2)计算您共输入的几行内容
3)计算共输入了多少字符
1.写一个程序,任意输入一个数,判段这个数书否是素数(prime)
素数(也叫质数) 是只能被1 和自身整除的数
如:
2 3 5 7 11 13 17 19 ...
提示:要用循环,先排出能被2345 ..自身-1整除的非素数,剩余的即为素数
s = int(input('请输入一个数:'))
if s == 2:
print(s,"是素数")
else:
for x in range (2,s):
if s % x == 0:
print(s,"不是素数")
break
else :
print(s,"是素数")
break
2.编写程序求下列多项式的值
Sn = 1/1 - 1/3 + 1/5 - 1/7 ...
1000000个分式的值是多少?
将此值乘以4后打印出来.
a = 1
c = 1
Sn = 0
for a in range(1,2000000,2):
b = (-1) **(c+1) *(1/a)
Sn +=b
c +=1
print("Sn=",Sn)
print("Sn * 4 =",Sn * 4)
3.输入一个整数(代表树干的高度)打印如下形式的圣诞树
输入: 2
*
***
*
*
输入:3
*
***
*****
*
*
*
a = int(input("请输入一个数:"))
for x in range(1,a + 1):
n = (2 * x - 1)
print(" " * (a - x),"*" * n)
for c in range(1,a + 1):
print(" "*(a - 1),"*")
最后
以上就是会撒娇硬币为你收集整理的(五)for,range,continue,list的全部内容,希望文章能够帮你解决(五)for,range,continue,list所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复