头歌实训Python--序列类型及运算

第1关:字符串基本操作

本关任务的目的是了解字符类型的特点,熟悉字符串的一些基本操作,包括赋值、拼接、重复、长度、索引、查找、替换、反转等常用操作。字符串最常见的一种基本数据类型。字符串是许多单个子串组成的序列,其主要是用来表示文本。注意:字符串是不可变数据类型,也就是说你要改变原字符串内的元素,只能是新建另一个字符串。

任务1 字符串拼接 依次输入两个字符串赋值给s1s2,并将s1中所有英文字母转换为大写后连接到s2后面,并将拼接的结果赋值给s3,输出s3的值。 提示:应用“+”运算和字符串的upper()方法。

任务2 根据字符串的长度确定字符串输出重复次数 输入一个字符串赋值给s4,根据s4的长度来确定将s3重复多少次,重复运算结果赋值给s5,并输出s5的值。例如:输入“A1”, 如果s3的值是123XTU,则输出123XTU123XTU提示:求字符串的长度用内置函数len(),重复运算用“*”

任务3 访问字符串以及子字符串 输入一个长度为2字符串赋值s6,判定s6s5的第2至第11个字符(包含第11个字符)之间首次出现的位置与出现次数,若s5的长度小于10,则表示从第2个字符到字符串末尾的子串。例如:输入“XT”,若s5的值是123XTU123XTU,则输出“2 2”,第2个到第11字符的子串是23XTU123XT:表示:“XT”在子串“23XTU123XT”中首次出现的起始位置是2,总共出现了2次。 提示:本任务中需要用到字符串的切片运算:[m:n],出现位置与次数分别使用序列类型的共有方法:index()count()

任务4 字符串的替换 输入一个字符串赋值给s8,将s5中所有的数字符号"2"替换成存储在s8中的字符串,并将替换结果赋值给s9,输出s9的值。例如:输入一个字符串“TO”s5123XTU123XTU,则输出替换后的结果为:1TO3XTU1TO3XTU提示:本任务中需要用到字符串的方法:replace()

任务5 字符串反转 将任务4中替换结果s9反转,输出s9反转后的值。例如:s9中存储的是:1TO3XTU1TO3XTU,则输出的反转结果是:UTX3OT1UTX3OT1 提示:本任务中需要用到字符串的切片运算:[::-1]

测试说明 注意:输入数据时,一行只输入一个数。本关1-5个任务评测输入输出样例如下: 输入测试数据:

 
  1. xtu
  2. 123
  3. A1
  4. XT
  5. TO

输出测试结果:

 

输出测试结果:

 

输出测试结果:

 

  1. 123XTU
  2. 123XTU123XTU
  3. 2 2
  4. 1TO3XTU1TO3XTU
  5. UTX3OT1UTX3OT1
  6. #字符串基本操作
    
    #任务1代码
    s1=input()
    s2=input()
    #Begin 填写“=”右侧表达式
    
    s3= (s2+s1).upper()
    
    #End
    print(s3)
    
    
    #任务2代码
    s4=input()
    #Begin 填写“=”右侧表达式
    
    s5= s3*len(s4)
    
    #End
    
    print(s5)
    
    
    #任务3代码
    s6=input()
    #Begin 在Begin和End间填写代码
    print(s5[1:11].index(s6), s5[1:11].count(s6))  
    
    #End
    
    #任务4代码
    s8=input()
    #Begin 填写“=”右侧表达式
    s5=s5.replace("2",s8)
    s9=s5
    
    #End
    print(s9)
    
    
    #任务5代码
    #Begin  在Begin和End间填写代码
    s9=s9[::-1]
    print(s9)
    
    
    #End
    

    第2关:元组基本操作

  7. 本关任务的目的是了解元组类型数据的特点,什么场合使用。具体包括元组的建立,元组的访问,多元变量赋值等。元组的基本形式是以圆括号“()”括起来的数据元素,元组与字符串类似,可以通过序号来引用其中的元素。下标索引从0开始,可以进行拼接、重复等序列类型共同的操作。这些操作均不能改变原来元组中的元素。

    **任务1 元组的建立 ** 从键盘输入两个字符串赋值给s1s2,并建立元组t1,其值为(s1,s2)。输出t1的值。例如:输入ABC,123,则输出('ABC','123')

    提示:创建一个元组只需使用逗号分隔多个值放入圆括号,元组中只包含一个元素时,需要在元素后面添加逗号来消除歧义,如:x=(20,),表示建立了一个只有一个元素20的元组。

    任务2 元组的拼接 输入一个整数与任务1中的t1拼接形成一个新元组t2,例如:输入20,它作为t2中的最后一个元素,输出t2的值。例如:如果元组t1("ABC","123"),则拼接后产生的新的元组t2的值是("ABC","123",20)

    提示:拼接运算符“+”,用于元组时,表示将两个元组拼接产生一个新的元组。

    任务3 元组的重复 输入一个整数赋值给n,将t2重复n次输出,并将重复后的新元组赋值给t3。例如:输入2,t2的值是("ABC","123",20),则输出t3的值为:("ABC","123",20,"ABC","123",20)

    提示:重复运算符“*”,用于元组时,表示将元组元素重复n次,产生一个新的元组。

    任务4 利用元组实现变量值的交换t1t2t3所存储的元组进行交换,t1存储原t2的值,t2存储原t3的值,t3存储原来t1的值。例如:假设经过任务1--任务3,t1,t2,t3的值分别为:t1=("ABC","123"),t2=("ABC","123",20), t3=("ABC","123",20,"ABC","123",20) 则交换后的结果 t1=("ABC","123",20) t2=("ABC","123",20,"ABC","123",20) t3=("ABC","123")

    任务5 求元组的最值 令元组t4等于(12,32,33,24,35,26,47,568,69,1012),将元组的最大值ma与最小值mi求出,并将两个最值相加乘以t4元组长度得到结果t,将t加到t4的最末生成新的元组t5,输出新元组t5提示:利用max(tup),min(tup)可以得到元组tup的最值,len()返回元组长度,此题t4由自己初始化,系统不提供测试样例。

    测试说明 注意:输入数据时,一行只输入一个数。本关1-5个任务评测输入输出样例如下: 输入测试数据:

     
  8. ABC
  9. 123
  10. 20
  11. 2
  12. ('ABC','123')
  13. ('ABC','123',20)
  14. ('ABC','123',20,'ABC','123',20)
  15. ('ABC','123',20) ('ABC','123',20,'ABC','123',20) ('ABC','123')
  16. (12,32,33,24,35,26,47,568,69,1012,10240)
  17. #元组基本操作
    
    #任务1代码
    s1=input()
    s2=input()
    #Begin 填写“=”右侧表达式
    
    t1=(s1,s2)
    
    #End
    print(t1)
    
    
    #任务2代码
    #Begin 填写“=”右侧表达式
    num=int(input())
    t2=(num,)
    t2=t1+t2
    
    #End
    print(t2)
    
    
    ##任务3代码
    #Begin 
    n=int(input())
    t3=t2*n
    #End
    print(t3)
    
    
    #任务4代码
    #Begin 填写“=”右侧表达式
    
    t1,t2,t3=t2,t3,t1
    
    #End
    print(t1,t2,t3)
    
    
    #任务5代码
    #Begin 填写“=”右侧表达式
    
    t4=(12,32,33,24,35,26,47,568,69,1012)
    ma=max(t4)
    mi=min(t4)
    t=(ma+mi)*len(t4)
    t5=(t,)
    t5=t4+t5
    
    #End
    print(t5)
    

    第3关:列表基本操作

  18. 本关任务的目的是了解列表类型的基本特点,它的可变性使得它具有一些和字符串与元组不同的操作,如列表元素的添加删除,排序等。列表可以把大量的数据放在一起,可以对其进行集中处理。列表是以方括号“[]”包围的数据集合,不同成员间以“,”分隔。列表中可以包含任何数据类型,也可以包含一个列表。列表可以通过序号来访问其中的成员。

    任务1 建立列表 输入一个表示姓名的字符串,建立一个只含有此字符串的列表lt1,并输出lt1的值,例如,输入字符串为“李海”,则输出[“李海”]

    任务2 加入元素 输入3个整数,分别代表数学,语文,英语的分数,生成列表lt2,将列表lt2加到lt1后面,输出更新后的lt1。例如,输入的整数为:90 79 100,表示对应课程的分数,则输出:[“李海”,90,79,100] 提示:可以使用append(),extend(),insert()“+”运算,但是要注意他们的差别

    任务3 插入元素 从键盘输入一个数字字符串,并在列表lt1的起始位置插入这个数字字符串,代表学号,输出lt1的值。例如:输入:“201705090345”,输出lt1的值为:[“201705090345”,“李海”,90,79,100] 提示:可以使用insert()在首元素前面进行插入。

    任务4 列表的删除 找出列表lt1中的最小的元素,在列表lt1中删去此元素,删除后,再输出lt1的值 提示:使用内置min()函数求出lt1中元素的最小值,用列表的方法remove()pop()来移除此元素。也可以用内置函数del()来删除指定位置的元素。注意参数:remove()的参数是要删除的具体元素,而del()pop() 的圆括号中要填写整数,表示要删除的元素的索引号。

    任务5 列表的反转与排序lt2列表中的元素按从小到大的顺序排列输出,再将lt1复制给lt3,将lt3反转输出。例如:lt2的值是[90,79,100],则从小到大输出为[79,90,100]lt3反转的结果为[100,90,“李海”,“201705090345”] 提示:本任务使用列表的方法有:copy()sort()reverse()

    测试说明 注意:输入数据时,一行只输入一个数。本关1-5个任务评测输入输出样例如下: 输入测试数据:

     
  19. 李海
  20. 90
  21. 79
  22. [“李海”]
  23. [“李海”,90,79,100]
  24. [“201705090345”,“李海”,90,79,100]
  25. [“201705090345”,“李海”,90,100]
  26. [79,90,100]
  27. [100,90,“李海”,“201705090345”]
    • 100
    • 201705090345
    • #列表基本操作
      
      #任务1代码
      s1=input()
      #Begin 
      
      lt1=[]
      lt1.append(s1)
      
      #End
      
      print(lt1)
      
      
      
      #任务2 在begin和end间空白处填写代码
      a=int(input())
      b=int(input())
      c=int(input())
      #begin
      lt2=[]
      lt2.append(a)
      lt2.append(b)
      lt2.append(c)
      lt1=lt1+lt2
      
      #end
      print(lt1)
      
      
      #任务3 在begin和end间空白处填写代码
      id=input()
      #begin
      lt1.insert(0,id)
      
      #end
      print(lt1)
      
      
      #任务4 在begin和end间空白处填写代码
      #begin
      a=min(lt2)
      b=lt1.remove(a)
      print(lt1)
      
      #end
      
      
      
      #任务5 在begin和end间空白处填写代码
      #begin
      lt2.sort()
      print(lt2)
      lt3=lt1.copy()
      lt3.reverse()
      print(lt3)
      
      #end
      

      第4关:综合运用

本关任务的目的是了解字符串,元组和列表间转换函数的使用,如split()join()

任务1 字符串转换成列表和元组 输入一个含有空格的字符串赋值给ss1,分别将其转换成列表和元组并依次输出。例如:输入:“My computer”,输出:

  • ['M', 'y', ' ', 'c', 'o', 'm', 'p', 'u', 't', 'e', 'r']
  • ('M', 'y', ' ', 'c', 'o', 'm', 'p', 'u', 't', 'e', 'r')-
  • *提示:**使用list()tuple()函数

任务2 字符串分割 将字符串ss1以空格作为分离符号,将其分割为多个元素的列表赋值给ss2。例如“My computer”分割为列表输出是:["My","computer"]提示:使用字符串的split()方法

任务3 将列表合并成字符串 首先将ss2通过*运算,重复3次,赋值给ss3,然后用“-”将各元素合成为一个字符串。例如,ss2重复3次后,ss3中元素为:["My","computer","My","computer","My","computer"],用“-”作为连接符进行连接后的输出为:"My-computer-My-computer-My-computer" 提示:使用字符串的join()方法

测试说明 注意:输入数据时,一行只输入一个数。本关1-3个任务评测输入输出样例如下: 输入测试数据:

 
  1. My computer

输出测试结果:

 
  1. ['M', 'y', ' ', 'c', 'o', 'm', 'p', 'u', 't', 'e', 'r']
  2. ('M', 'y', ' ', 'c', 'o', 'm', 'p', 'u', 't', 'e', 'r')
  3. ["My","computer"]
  4. "My-computer-My-computer-My-computer"

    • #任务1 在begin和end间空白处填写代码
      #begin
      ss1=str(input())
      It1=list(ss1)
      print(It1)
      t1=tuple(ss1)
      print(t1)
      #end
      #任务2 在begin和end间空白处填写代码
      #begin
      ss2=ss1.split(' ')
      print(ss2)
      #end
      #任务3 在begin和end间空白处填写代码
      #begin
      ss3=3*ss2
      print('-'.join(ss3))
      #end
      

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
头歌实训是一门实践性质的课程,旨在教授学生使用Python编程语言进行函数编写。在Python中,函数是一种重要的工具,它可以封装和组织一段可执行的代码,提高代码的可读性和可复用性。以下是关于头歌实训Python函数的回答: 首先,我们需要理解函数的基本概念和使用方法。函数由两个主要组成部分构成,即函数头和函数体。函数头包含函数的名称、参数和返回值的数据类型等信息,而函数体包含实际的代码逻辑和操作。 在进行头歌实训Python函数的编写时,我们需要遵循以下步骤: 1. 定义函数:使用`def`关键字定义一个函数,并给函数取一个有意义的名称。 2. 编写函数体:在函数体中,我们可以编写一段或多段代码来完成特定的任务。可以使用Python提供的各种语法和功能,如条件判断、循环、变量和数据结构等。 3. 参数传递:函数可以接受参数,以便在函数内部使用。可以根据需要定义不同类型和数量的参数。参数可以在函数的调用时进行传递,也可以有默认值。 4. 返回值:函数可以返回一个或多个结果,供调用函数的地方使用。可以使用`return`语句将结果返回给调用者。 5. 调用函数:在其他地方需要使用函数时,可以通过函数名和参数列表进行函数的调用。调用函数会执行函数体中的代码逻辑,并根据函数的返回值进行相应的处理。 通过头歌实训Python函数的学习,我们可以掌握函数的定义和使用,提高代码的模块化和可重用性。函数可以帮助我们更好地组织和管理代码,让程序更加灵活和可扩展。掌握了函数的基本概念和编写方法后,我们可以尝试更复杂的函数应用,如递归函数、匿名函数和高阶函数等。 总的来说,头歌实训Python函数的学习对我们掌握Python编程语言和软件开发技巧是至关重要的。学习函数编写可以提高我们的编码效率和代码质量,是我们成为一名优秀的Python开发者的重要一步。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值