zoukankan      html  css  js  c++  java
  • 第二周学习记录

    第二周

    这周进行了python的学习,主要内容有

    1.使用input()进行输入、print()进行输出
    2.if; if...else; if...elif...else语句进行条件判断
    条件表达式:变量=结果1 if 表达式 else 结果2
    3.while循环、for循环
    for 迭代变量 in 对象:#for可循环序列或字符串
    循环体
    while 表达式:
    循环体
    4.range()函数,生成一系列连续整数
    range(start, end, step)包括开头,不包括结尾
    5.循环嵌套:for、while、for+while、while+for
    6.break语句:用于停止循环;continue语句:用于提前进入下一次循环;pass语句:空语句,占位置
    7.索引。通过索引对序列取值
    8.切片。用切片从序列中取出一部分内容
    9.序列相加,直接加在后面;序列*数=重复序列
    10.判断是否是序列成员
    元素 in 序列---返回True或False
    11.计算序列长度len()
    max()返回最大元素(当元素类型是数值时)
    min()
    list()序列转列表
    str()序列转字符串
    sum()算元素和
    sorted()对元素排序
    12.列表的创建
    创建:
    listname=[元素1,元素2......]
    emptylist=[]
    list(range[2,21])
    删除:
    del listname
    13.访问列表元素
    直接print()
    利用索引
    利用切片
    14.遍历列表
    for item in listname:
    #输出item
    for index,item in enumerate(listname): #前面是索引后面是元素。
    # enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中
    #输出索引和item
    15.增加元素
    list.append() 加最后面
    list.insert(0 , "xxxx") 在索引值为0处增加
    list.extend(seq) 向列表list的最后,添加另一个列表seq
    修改元素:
    直接list1[1] = "xxx"
    删除元素:
    根据索引:del list1[2]
    根据元素值: remove() #remove() 函数用于移除列表中某个值的第一个匹配项。如,list.remove(obj)
    16.对列表的统计计算
    count()指定元素出现次数
    sum()数值列表中各元素和
    index()第一次出现时的索引值

      listname.count(obj)
      listname.index(obj)
      sum(listname,[,start])      #sum还可用于序列
    

    17.对列表排序
    sort()函数、sorted()函数 区别在于:是否改变原列表的元素顺序
    listname.sort(key = None , reverse = False) 改原顺序,False 升序
    sorted(listname, key=None, reverse = False) 不改原列表顺序,False升序
    # key = str.lower 可以不区分大小写哦!
    18. 列表推导式 可以生成一个列表
    list = [Expression for var in range]
    list = [Expression for var in list]
    list = [Expression for var in list if condition]

    19.二维列表
    直接写/for循环/列表推导式

    下面是代码部分

    print()输出

    fp = open(r'D:mot.txt','a+')
    print("看到这条消息就对啦", file = fp)#输出到文件
    fp.close() #关闭文件

    if...elif...else,input()

    print("roses~ ")

    number = int(input('''Enter the number of roses,
    and I will tell the meaning.
    Please enter:'''))

    if number == 1:
    print("1 rose: You are my only")
    elif number ==1:
    print("3 roses: I love you")
    elif number ==10:
    print("10 roses: Everything all right")
    elif number ==99:
    print("99 roses: 999999999")
    elif number ==108:
    print("108 roses: Will you merry me?")
    else:
    print("I don't know.")

    if...elif...else

    print("no drink driving!")
    proof = int(input("Enter 酒精含量: "))

    if proof < 20:
    print("不构成饮酒驾驶")

    else:
    if 20<=proof<=80:
    print("drink driving")
    else:
    print("醉酒驾驶")

    while xxx:

    print("三三数之剩二,五五数之剩三,七七数之剩二,问几何? ")
    none = True #循环需要的条件变量
    number = 0 #计数变量
    while none:
    number = number + 1
    if number%3 == 2 and number%5 == 3 and number%7 == 2: #记得打冒号
    print(number)
    if number >= 200: #只要1-200之间的数
    none = False

    for xxx:

    print("1+2+3+......+100")
    result = 0
    for i in range(101):
    result = result + i
    print(result)

    for + range()

    #range()函数
    for i in range(1,11,2):
    print(i, end = ' ') # ' '里的东西可以时空格
    #输出在一行里

    for循环2

    print("三三数之剩二,五五数之剩三,七七数之剩二,问几何? ")
    for number in range(1000):
    if number%3 == 2 and number%5 == 3 and number%7 == 2: #记得打冒号
    print(number, end=' ')

    for循环3,可以遍历字符串

    string = "不要1说不能"
    print(string)
    for ch in string: #for还可以遍历字符串!!!
    print(ch)

    循环嵌套

    for row in range(1,5):
    print("当前所在排: ",row)
    if 2==row:
    print("第二排是我座位所在")
    for column in range(1,8):
    print("当前所在列: ",column)
    if column==3:
    print("这是您的座位")

    九九乘法表

    print("九九乘法表")
    for i in range(1,10):
    for j in range(1,i+1):
    print(j,"×",i,"=",j*i,end = ' ')
    print(" ")

    拍桌子游戏

    total = 0 #拍__次桌子
    for number in range(1,100): #1-99
    if number%7 == 0: #7的倍数
    total=total+1
    continue
    else:
    string = str(number)
    if string.endswith('7'): #判断是否以7结尾
    total=total+1
    continue

    print("1-99可拍桌子次数",total,"次")

    pass占位置

    for i in range(1,10):
    if i % 2 == 0:
    print(i,end = ' ') #输出偶数
    else:
    pass #占位,啥也不干

    索引

    string = "上单之光。"
    print(string[1]) #从左开始数
    print(string[-1]) #从右开始数

    列表切片、相加、乘法

    nba = ["姚明","奥尼尔","乔丹","詹姆斯","科比","周琦"]
    badminton = ["林丹","谌龙","石头"]
    print(nba[0:4])
    print(nba[0:5:2])
    print(nba[0:5:3]+badminton*2)

    判断是否是列表成员

    nba = ["姚明","奥尼尔","乔丹","詹姆斯","科比","周琦"]
    badminton = ["林丹","谌龙","石头"]
    print("科比" in nba[1:5])#判断是否在列表当中
    print("科比" not in nba[1:5])#判断是否不在列表当中

    计算序列长度

    number = [15,20,930,60,80]
    print("列表的长度:", len(number))

    string = "我学python"
    print("列表的长度:", len(string))

    print(max(number))
    print(min(number))

    print(sorted(number)) #对序列进行排序
    print(sum(number)) #算元素和

    创建、访问列表元素

    python = ["python",28,"hello!",["Good","nice","how are you"]]
    print(python)
    print(python[2])
    print(python[1:4:1])
    #输出每日一帖
    import datetime #日期时间类
    mot = ["Today is Monday: Good morning!",
    "Today is Tuesday: Good morning!",
    "Today is Wedsday: Good morning!",
    "Today is Thursday: Good morning!",
    "Today is Friday: Good morning!",
    "Today is Saturday: Good morning!",
    "Today is Sunday: Good morning!"]
    day = datetime.datetime.now().weekday() #获取当前星期(用的是0-6)
    print(mot[day])

    添加元素

    phone = ["摩托罗拉","诺基亚","三星","OPPO"]
    print(len(phone))

    phone.append("iphone") #append()增加元素
    print(phone)

    phone.insert(0,"没有手机") #insert()插入元素,查到索引值为0处
    print(phone)

    oldlist = ["Tom","Tompson","Tiffa","Tony"]
    newlist = ["Kite","Karter","Kiky"]
    oldlist.extend(newlist) #把newlist加到oldlist后面
    print(oldlist)

    修改元素

    list1 = ["第一句","第二局","第三句"]
    list1[2] = '第3句' #修改元素
    print(list1)

    if "第3句" in list1:
    list1.remove("第3句") #或者用:del list1[2]进行删除。逻辑为“如果‘第三句’在,则删除它”,这样如果‘第三句’不存在,不会报错
    print(list1)

    对列表统计计算

    song = ["Song1","Song2","Song3","Song4","Song1"]
    number = song.count("Song1") #指定元素在列表中出现次数
    print(number)

    if "Song4" in song: #如果"Song4"存在的话
    number2 = song.index("Song4")+1 #指定元素在列表中的位置
    print(number2)

    list1 = [90,89,100,95,74,88]
    total = sum(list1,1000) #从1000开始加
    print(total)

    对数字序列排序

    grade = [99,95,80,76,100,64,88]
    print("Grades are: ",grade)
    grade.sort() #升序排列(reverse = False)
    print("升序: ",grade)
    grade.sort(reverse = True) #降序排列
    print("降序: ",grade)

    #对字符串列表排序
    print(" 对字符串列表排序")
    char = ['cat','Tom','Angelica','pet']
    print("They are: ",char)
    char.sort(key = str.lower)#升序排列 使用listname.sort(key = str.lower),不区分大小写按字母顺序排序
    print("升序: ",char)

    #使用sorted()
    print(" ")
    char = ['cat','Tom','Angelica','pet']
    print("They are: ",char)
    char1 = sorted(char) #sorted()是建立了一个副本,在副本里排序,所以不改变原列表的顺序,这里char1就是那个副本
    print("升序: ",char1) #sorted()是对原序列生成了一个副本,在副本里改元素顺序;不改变原列表元素顺序
    print("They are: ",char)

    列表推导式

    import random #导入生成随机数模块儿
    list1 = [] #空列表
    for i in range(10): #一共加10次
    list1.append(random.randint(10,100)) #向列表添加10—100的随机数
    print(list1) #括号里的是加进的元素,一共加10次

    #Or you can try this:
    list2 = [random.randint(10,100) for i in range(10)] #这就是列表推导式
    print(list2)

    #1-10之间所有偶数平方
    list3 = [ i*i for i in range(2,11,2)]
    print(list3)

    #价格打五折
    price = [800,1888,299,660,80]
    sale = [int(i*0.5) for i in price]
    print(sale)

    #列表中的元素组成一个新列表
    price = [800,1888,299,660,80]
    sale = [i for i in price if i>=800]
    print(sale)

    二维列表

    #使用for循环写房间号
    room = []
    for i in range(1,5): #1—4层
    room.append([]) #空列表里添加一个空列表,填了4行
    for j in range(1,8): #1—8列
    room[i-1].append(i*1000+100+j) #为每一行的列表添加元素
    print(room)

    #使用列表推导式写房间号
    room = [ [i*1000+100+j for j in range(1,8)] for i in range(1,5)]
    print(room)

    #写首诗
    str1 ="千山鸟飞绝"
    str2 ="万径人踪灭"
    str3 ="孤舟蓑笠翁"
    str4 ="独钓寒江雪"
    list1 = [list(str1),list(str2),list(str3),list(str4)]
    print(" 横板 ")
    for i in range(4): #古诗行数
    for j in range(5): #古诗每一行的字数
    if j == 4: #如果是一行的最后一个字(j==4),则换行
    print(list1[i][j])
    else : #否则不换行
    print(list1[i][j],end ='')

    #再写竖版诗
    list1.reverse() #反转列表中各元素,
    print(" 竖板 ")
    for i in range(5):
    for j in range(4):
    if j == 3:
    print(list1[j][i])
    else:
    print(list1[j][i],end='')

  • 相关阅读:
    字符串动手动脑
    类与对象课后思考
    java动手动脑课后思考题
    java思考题
    《大道至简第二章读后感》
    从命令行接收多个数字,求和之后输出结果
    《大道至简》读后感
    团队项目成员和题目
    软件工程个人作业04
    软件工程个人作业03
  • 原文地址:https://www.cnblogs.com/wuang123/p/13339936.html
Copyright © 2011-2022 走看看