python基础-day06

这篇博客主要介绍了Python编程的基础知识,包括变量、数据类型、控制结构、函数和模块的使用,适合初学者入门。
for 语句:
  作用:
    用来遍历可迭代对象的数据元素

  可迭代对象:
  字符串  str
   (以下后面会讲))
   列表 list
  元组 tuple
   字典 dict
   集合 set
   ...

语法:
  for 变量列表 in 可迭代对象:
    语句块1 (重复执行多次)
  else:
       语句块2 (可迭代对象不再提供数据时)
说明:
   else 子句可以省去
   当在循环内部用break终止循环时,else子句部分的语句不会执行

示例:
  s='ABCDE'
  for ch in s:
      print("ch---->",ch)

练习:
    任意输入一段字符串
    1)计算这个字符串的'a'这个字符的个数,并打印出来
   2)计算出空格的个数,并打印出来
    (要求:用for语句实现)
    思考:用while语句能否实现?
s=input('输入字符串')
n=0
m=0
for ch in s:  
    if  ch=='a':
        n+=1
    if  ch==' ':
        m+=1
print('a的个数:',n)
print('空格的个数:',m)

range 函数
    作用:
    用来创建一个生成一系列整数的可迭代对象(整数序列生成器)
    函数    说明
    range(stop)  用来生成 0~stop 之间内的整数,直到stop为止(不包含stop)
    range(start,stop[,step])  用来生成
    start~stop之间的整数,直到stop为止(不包含stop),每个整数之间隔step,且step可以说负数
    说明:
    此对象可用于for语句来进行迭代取出其中的元素

    示例:
      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
    
    练习:
     1用for语句打印1~20的整数,打印在一行内
z=range(1,21)
for x in z:
    print(x,end=' ')

    2用for语句打印1~20的整数,每行打印5个,打印4行
z=range(1,21)
for x in z:
    print(x,end=' ')
    if x%5==0:
        print()

   3 求100以内有哪些数与自身+1的乘积再对11求余结果等于8?打印出来结果
z=range(100)
for x in z:
    if x*(x+1)%11==8:
        print(x,end=' ')
print()
   4 输入一段字符串,判断输入的字符串中有几个中文字符:
     注:中文字符的编码值一定大于127
z=input('输入字符')
print()
i=0
for x in z:
    if ord(x)>127:
        i+=1
        print(x,end=' ')
print(i)


for 语句的注意事项
  for 语句range调用顺序:
  示意:
  请问此程序打印的结果是什么,为什么?
x= 1 i= 6
x= 2 i= 6
x= 3 i= 6
x= 4 i= 6
x= 5 i= 6
---------------------------
i=6
for x in range(1,i)
    print('x=',x,'i=',i)   range 函数优先调用,且只调用一次

   2 for语句变量列表里的变量可能不会被创建
     for x in range(4,0):
           print(x)
      else:
          print('循环结束后x的值是',x)   #报错  range无法创建数值

    3 for 语句中用break语句中断执行时,else子句不会执行
       示例:
        for x in range(10)
               print(x)
               if x==3:
               break
          else:
              print('结束')

for 语句嵌套
   示例:
     for x in 'ABC'
            for y  in '123'
              print(x+y)

练习:
  打印26个大英文字母和26个小英文字母
    chr(i)     #数字转为字符
    'A'    65
       'a'    97


continue语句:
  如何让程序不再向下执行本次循环,重新开始一次新的循环
  作用:
    用于循环语句(foe while)语句中,不再执行本次循环内continue之后的语句,重新开始新的循环
  说明:
    1在for 语句中执行continue语句,将会从可迭代对象中取下一个数据,绑定变量后开始一次新的循环
    2在while语句中。执行continue语句,将会直接跳转到while语句真值表达式外,重新判断循环条件
  语法:
  continue 
     示例:跳过奇数,打印偶数(10以内)
     for x in range(10):
    if x%2==1:
        continue
    print(x)

练习:1输入一个整数begin,结束end
       打印begin到end之间的全部奇数
      2求1~100之间所有不能被2,3,5,7整除的数
         1)打印这些数
         2)打印这些数的和

      用while语句打印10以内的偶数


循环小结:
   while 语句
   for 语句
      字符串str
          range() 函数返回的对象
   break 语句
   continue 语句


列表: list
    问题:
列表的定义:
  列表是一种容器
  列表是可以改变的序列
  列表是由一系列特定元素组成的,元素与元素之间可能没有任何的关联关系,但他们之间有
     先后顺序关系

python3 中序列的类型: sequence
  字符串 str
   列表 list
   ------以下后面会讲----
   元组 tuple
   字节串 bytes
   字符数组  bytearray

   创建空列表的字面值:
   []    # 创建空列表的表达式
   创建非空列表的字面值:
    L=[1,2,3,4]
   L=['北京','上海','深圳']
     L=[1,'Two',3.14,'四']
     L=[1,2,[3.1,3.2],4]
    
    列表的构造(创建)函数 list
     list()  #生成一个空的列表 等同于[]
     list(iterable) 用可迭代对象创建一个列表
     示例: 
     L=list()           #L绑定空列表
     L=list('hello')  #L绑定['h','e','l','l','o']
     L=list(range(7,10))  #L绑定[7,8,9]

列表的运算:
  算术运算:
      +  +=  *   *=
    + 用于拼接列表
      lx=[1,2,3]
       ly=[4,5,6]
       lz=lx+ly     lz=[1,2,3,4,5,6]
    += 用原列表与右侧列表拼接,再用变量绑定列表
       语法:
      L+=可迭代对象
       示例: 
      lx=[1,2,3]
       l+=[4,5,6]
       lx=[1,2,3,4,5,6]
    *  用于生成重复的列表
      x=[1,2]*3     # x=[1,2,1,2,1,2]
        x*=3         # x=[1,2,1,2,1,2]
      
   列表的比较运算:
    运算符:
      <  <=   >  >=   ==   !=
      说明:
        列表的比较规则与字符串的比较规则相同
        列表要求每两个元素能依次进行比较,否则会出现类型错误
    示例:
      x=[1,2,3]
       y=[1,3,2]
          x<y   # True

练习: 
   1.写一个程序,让用户输入很多个正整数,当输入负数时结束输入
     1)将用户输入的数存在列表L中,打印列表
     如: 输入1,2,3,4
        打印[1,2,3,4]
     
L = []
while True:
    x=int(input('输入正整数')
    if x<0:
        break
    L+=[x]
print(L)


列表的in/not in 运算符:
  判断一个值是否在列表中,如果存在返回True,否则返回False
    说明:同字符串的in/not in 类似,但只能判断单个元素是否存在列表中
    示例: 
      x=[1,'Two',3.14,"Four"]
       3.14 in x  #  True
       "3" in x   # False
       4 not in x  # True

列表的索引操作:
  语法:
     列表[整数表达式]
  用法:
   等同于字符串的索引
   索引分为正向索引和反向索引,规则与字符串规则完全相同
示例: 
  x=[1,'二',3,'Four']
   print(x[0])   #1
   print(x[1])   #二
   print(x[-1])   #Four

列表的索引赋值操作:
  列表是可变的序列,可以通过索引赋值改变列表中的元素
  语法:
    列表[整数表达式]=表达式
  示例: 
   x=[1,'二',3,'Four']
     x[1]=2   #将列表中的第二个元素改为2
     x[-1]=4
     print(x)   #[1,2,3,4]

列表的切片:
  语法:
   列表[(开始索引b):(结束索引e):(步长s)]
   说明:列表切片取值返回一个列表,规则等同于字符串规则
   示例: 
     x=[0,1,2,3,4,5,6,7,8]
      y=x[1:9:2]   #奇数
切片的赋值操作:
  作用:
    可以改变原列表的排序,可以插入和修改数据
    可以用切片改变列表对应的元素值
  语法:
   列表[切片]=可迭代对象
  注:赋值运算符的右侧必须是一个可迭代对象

L = [2.2,3.3,4,4]
L[0:1]=[1,2]   # L=[1,2,3.3,4.4]
L[2:]=[3,4,5]  # L=[1,2,3,4,5]
L[::]=[30,40]  #L=[30,40]
L=[1,2,3,4,5,6,7,8]
L[2:4]=[]     # L=[1,2,6,7,8]
切片注意事项:
 对于步长不等于1的切片赋值,赋值运算符的右侧的可迭代对象提供的元素个数一定要
 等于切片切出的段数
  如: 
    l=[1L = [2.2,3.3,4,4]
L[0:1]=[1,2]
,2,3,4,5]
    l[::2]="ABC"  True
    l[::2]="ABC"  False

练习:
1.写程序输入一个三角形的宽和高,打印相应的三角形
如: 
  输入3:
1)  *
     **  
     ***
     i=int(input('输入宽的数值'))
j=1
while j<=i:
    print('*'*j)
    j+=1

2)   *
    **
   ***


3) ***
   **
   *

4)***
   **
    *

2写程序,任意输入一个整数,判断这个数是否为素数
  素数(质数)只能被1和自身整除的正整数
  提示:用排除法:当判断x为素数时,只要让x分别除以2,3,4,5...x-1,只要有任何一个数能被整除
    说明x不是素数
x=int(input('请输入一个整数:'))
for i in range(2,x):
    if x%i==0:
        print('这不是素数')
        break
else:
    print('这是素数')


3编写程序求下列多项式的值
  Sn=1/1-1/3+1/5-1/7+...
 1)求10000000个这样的分数相加的和是多少?
 2)将上一步的和乘以4打印出来,是多少?
a=int(input('请输入数字'))
i=1
s=0
j=0
while j<=a-1:
    s+=1/i*(-1)**(j)
    i+=2
    j+=1
print('输入的和是',s)
print('乘以4的积是:',4*s)


4算出100~999之间的水仙花数
  水仙花数是指百位的三次方+十位的3次方+个位的三次方等于原数的整数
  如:
   153=1*3+5*3+3*3
     370...





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值