day05笔记:
 
 
今天内容
、for语句
、continue语句
、列表
 
 
 
 
 
 
、for语句
作用:
用来遍历可迭代对象的数据元素
可迭代对象是指能依次获取数据元素 的对象
可迭代对象包括:
字符串str
以下后再才讲----
列表
元组
字典
集合
函数返回的对象等
语法:
变量列表in可迭代对象:
语句块1
    else   
语句块2
 
   s = 'ABCDE'
   for  ch in s:
 print('ch  -->',ch)
 
    ch --> A
    ch --> B
    ch --> C
    ch --> D
    ch --> E
 
   s = 'ABCDE'
   for  ch in s:
 print('ch  -->',ch)
   else:
可迭代对象已经不能提供数据了!
程序结束’)
 
 
练习:
任意输入一个字符串:
)计算您输入的空格的个数,并打印出来
)计算您输入的‘a’字符的个数,并打印出来(要求用for语句实现)
思考:
用whine 语句能否实现上述功能?
 
解:
 
请输入一行字符串:')
count_blank = 0
for char in s:
    if char == ' ':
        count_blank += 1
else:
空格的个数是:',count_blank)
 
 
count_a = 0
for char in s:
    if char == 'a':
        count_a += 1
else:
的个数是:',count_a)
 
 
 
、renge 函数
格式:
见:>>> help(range)
 
函数
     range(stop)
从零开始,每次生成一个整数后加1操作,直到stop为止(不包含stop)
(start,stop [, step])
从start开始,每次生成一个整数后移动step,
直到stop为止(不包含stop,且step可以是负整数)
作用:
用来创建一个生成一系列整数的可迭代对象(也叫整数序列生成器)
示例:
(4)       #生成0,1,2,3,
(3,6)    #生成3,4,5
(1,10,2)  #生成1,3,5,7,9
 
 
的示例:
for x in range (4):
(x)
0,1,2,3
 
 
练习:
用for语句打印1~20,打印在一行内
用for语句打印1~20,每五个打印在一行
 
    1.
#for x in range(1,(21)):
#    print(x,end=' ') 
#else:
#    print() 
      2.
#for x in range(1, 20):
#    print(x,end=' ')
#    if x % 5 == 0:
#    
#        print()
#else:
#    print()
 
 
求100以内在哪些数与自身+1的乘积对11求余的结果等于8
计算1+3+5+7+.....+97+99的和分别用for和while循环语句来实现
 
解1,for x in range(1,101):
    if (x +1)*x % 11 == 8:
        print(x)
 
 
  2.
s = 0
for x in range(1,100,2):
    s+=x       
 else:
用for语句求和的是:'s)
s = 0
x = 1
while x < 100:
    s+=x
    x+=2
else:
用while语句求和的是:',s)
 
 
、for语句的注意事项:
请问下面程序的打印结果是什么:
 i = 6
(1,6):
(‘x=’,x,‘i=’,i)
注意此处
   x= 1 i= 6
   x= 2 i= 6
   x= 3 i= 6
   x= 4 i= 6
   x= 5 i= 6
如下语句的执行结果是什么?为什么?
缺
 
 
 
、for语句的嵌套
示例:
      for x in 'ABC'
       for y in '123':
 print(x+y)
 
          A1
          A2
          A3
          B1
          B2
          B3
          C1
          C2
          C3
 
练习;
输入一个整数n,打印一个对应的正方形:
如:
请输入:5
                    #1
                 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
 
      #2
1 2 3 4 5 6 7 8 
1 2 3 4 5 6 7 8 
1 2 3 4 5 6 7 8 
1 2 3 4 5 6 7 8 
1 2 3 4 5 6 7 8 
1 2 3 4 5 6 7 8 
1 2 3 4 5 6 7 8 
1 2 3 4 5 6 7 8
    
解1  
#bc = int(input('请输入正方形的边长:'))
#for line in range (bc):
打印一行
#    for i in range (1,bc+1):
#       print (i,end= ' ')
#    print() #换行
        
解2
#bc = int(input('请输入正方形的边长:'))
#for line in range (bc):
#    #打印一行
#    for i in range (line + 1,line + 1 + bc):
#        print (i,end= ' ')
#    print() #换行 
 
 
 
、coutinue 语句
用于循环语句中,(whine,for语句)中,不再执行本次循环coutinue之后的语句,重新开始一次新的循环
说明:
在for语句中执行continue语句,将会从可迭代对象中去下一个元素,绑定变量会后再次开始执行
在while语句中执行continue,将会之间跳转到while语句的真值表达式处重新判断循环条件 
 
示例:
    continue.py
#for x in range(5):
#    if x == 3:
#        continue
#    print(x)
 
 0
 1
 2
 4
用continue语句跳过奇数打印偶数
 
#for x in range(20):
#    if x % 2 == 1:
#        continue
#    print(x)
 
0
2
4
6
8
10
12
14
16
18
 
求1~100之间所有不能被5.7.11整除的数以及这些数的和
#s = 0
#for x in range(1,100):
#    if x %5 != 0 and x %7 != 0 and x %11 != 0:   
#        print(x)
#        s += x
#print('以上所以数的和是:',s)
 
 
 
 
 
循环语句总结:
语句
 可以用于死循环
语句
 用于可迭代对象的循环
语句:
 用于终止当前循环
语句:
 用于开始一次新的循环
 
 
 
 
 
、列表 list
列表的定义:
 列表是一种容器
 列表是序列的一种
 列表是可以被改变的序列
列表中由一系列特定元素组成的,元素与元素之间可以没有任          何的关联关系,但他们之间有先后顺序关系
 
创建空列表的字面值
变量绑定空列表
创建非空列表的字面值
     L = [1,2,3,4]
,‘shanghai’,‘shenzhen’]
,‘Two,’3.14, ‘四’]
 
列表的构造(创建)函数
生成一个空的列表,等同于[]
(iterable) 用可迭代对象创建一个列表
 
示例:
() # L绑定空列表
(‘hello’) # L 绑定['h','e', 'l','l','o']
      L = list  (range(1,10,2)) #L (1,3,5,7,9)
 
列表的运算:
算术运算:
        + += *  *=
用于拼接列表
       x = [1.2.3]
       y = [4,5,6]
       z = x + y [1.2.3.4.5.6]
      
用原列表与左侧列表拼接,用变量绑定拼接后的列表
 x = [1.2.3]
 x += [4.5.6]
 print(x)
生成重复的列表
 x = [1.2] * 3 # = [1.2.1.2.1.2]
等同于 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
出错了
 
列表的 in / not in 运算符
作用:
判断一个值是否存在于列表中,如果存在返回Ture,否则返回False
的返回值与 in 运算符相反
示例:
        2     in    [1.2.3.4]              #    True
    ‘2’  in   not in [1. 2. 3. 4]   #   False
 
列表是可迭代对象:
         for  x  in [2. 3. 5. 7]:
绑定列表内的元素
 
练习:
输入三行文字,将这三行文字保有存于列表L中,并打印:
如:
请输入: abc 《回车》
请输入 :  1234 <回车>
请输入 :  您好 <回车>
 生成如下列表:
您好']
(L) # 打印
输入任意行文字,存于列表L中,当不输入任意内容回车后退出输入,
)打印L列表中的内容
)计算您共输入的几行内容
)计算您共输入了多少个字符
 
 
       #1
#a  = (input('请输入第一行文字:'))
#a1 = (input('请输入第一行文字:'))
#a2 = (input('请输入第一行文字:'))
#L = [a,a1,a2]
#print(L)
  
      #2
 
L = []
while True:
请输入文字:')
    if not a:
        break
    L = L + [a]
存的是字符串分开的
print('L绑定的列表是:',L)
count = 0
for x in L:
    count += 1
print('您输入的行数是:',count)