day03 作业题
简答题
1. 写出 for 循环的基本格式
for 变量 in 容器:
代码
容器可以是:字符串,列表,元组,字典,range()
2. 简述 break 和 continue 的作用
break:结束整个循环;
continue:结束本次循环,继续下次循环;
3. 简述字符串查找和替换方法的使用
字符串.find() 找不到返回-1
字符串.index() 找不到报错
4. 简述字符串拆分和连接方法的使用
字符串.split()
字符串.join()
代码题
题目1 字符串下标练习
# 定义字符串 abcdefgh
# 打印输出下标为 3 的字符
# 打印输出字符串中第二个字符
# 打印输出字符串中最后一个数据
# 打印输出字符串中倒数第二个数据
# 打印输出字符串的长度(元素的个数)
str = 'abcdefgh'
print('下标为3的字符:', str[3])
print('字符串第二个字符:', str[1])
print('字符串的最后一个数据:',str[-1])
print('字符串的倒数第二个数据:',str[-2])
print('字符串的长度:',len(str))
下标为3的字符: d
字符串第二个字符: b
字符串的最后一个数据: h
字符串的倒数第二个数据: g
字符串的长度: 8
题目 2 使用字符串切片完成以下练习
# 现在有字符串:msg = "ABCDEFGHIJ"
# 1. 截取下标为2 ~ 5(包含) 字符 的字符
# 2. 截取从 2 ~ 末尾(包含) 的字符串
# 3. 截取从 开始 ~ 5(包含) 字符 的字符串
# 4. 截取从 2 ~ 末尾(不包含) 的字符串
# 5. 截取字符串末尾两个字符
# 6. 字符串的逆序(逆置)
在这里插入代码片
str='ABCDEFGHIJ'
print('截取下标为2 ~ 5(包含) 字符 的字符:',str[2:6])
print('截取从 2 ~ 末尾(包含) 的字符串:',str[2:])
print('截取从 开始 ~ 5(包含) 字符 的字符串:',str[:6])
print('截取从 2 ~ 末尾(不包含) 的字符串:',str[2:-1])
print('截取字符串末尾两个字符:',str[-2:])
print('字符串的逆序(逆置):',str[::-1])
截取下标为2 ~ 5(包含) 字符 的字符: CDEF
截取从 2 ~ 末尾(包含) 的字符串: CDEFGHIJ
截取从 开始 ~ 5(包含) 字符 的字符串: ABCDEF
截取从 2 ~ 末尾(不包含) 的字符串: CDEFGHI
截取字符串末尾两个字符: IJ
字符串的逆序(逆置): JIHGFEDCBA
题目 3 列表的练习
# 定义一个空列表 list1
# 定义一个列表 list2 包含以下数据 : 18, '小王', 171.4, True
# 打印输出 list2 中数据的个数
# 打印输出 list2中 第 2 个数据
# 打印输出 list2中最后一个数据
list1 = []
list2 = [18, '小王', 171.4, 'True']
print('打印输出 list2 中数据的个数', len(list2))
print('打印输出 list2中 第 2 个数据:', list2[1])
print('打印输出 list2中最后一个数据:', list2[-1])
打印输出 list2 中数据的个数 4
打印输出 list2中 第 2 个数据: 小王
打印输出 list2中最后一个数据: True
题目 4 字符串常见方法的使用
# 定义一个字符串 str1, 字符串的内容为 "hello world and itcast and itheima and Python"
# 在字符串str1中查找 字符串 and 的下标
# 在字符串str1中查找字符串 'good'的下标
# 将字符串str1中的 and 替换为 or
# 将字符串 str1 按照 空白字符进行切割,保存到变量 list1 中
# 使用 _*_ 将 list1中的字符串进行连接
# 使用 逗号 将 list1中的字符串进行连接
# 定义一个字符串 str1, 字符串的内容为 "hello world and itcast and itheima and Python"
str1 = 'hello world and itcast and itheima and Python'
# 在字符串str1中查找 字符串 and 的下标
print(str1.find('and'))
# 在字符串str1中查找字符串 'good'的下标
print(str1.find('good')) # find()方法找不到,返回-1
# print(str1.index('good'))#index()方法找不到,报错
# 将字符串str1中的 and 替换为 or
print(str1.replace('and', 'or'))
# 将字符串 str1 按照 空白字符进行切割,保存到变量 list1 中
list1 = str1.split()
print(list1)
# 使用 _*_ 将 list1中的字符串进行连接
str1 = '_*_'.join(list1)
print(str1)
# 使用 逗号 将 list1中的字符串进行连接
str1 = ','.join(list1)
print(str1)
题目5 列表添加数据
# 1.定义一个空列表my_list
# 2. 向列表中添加数据 '郭德纲'
# 3. 向列表的尾部添加数据 '岳云鹏'
# 4. 向列表的尾部添加数据 '郭麒麟'
# 5. 在下标为1 的位置添加数据 '于谦'
# 6. 定义一个列表my_list2, 包含数据: 孙越, 张云雷, 张鹤伦
# 7. 将 my_list2 中的所有数据逐个添加到 my_list 中
答案
# 1.定义一个空列表my_list
my_list = list()
# 2. 向列表中添加数据 '郭德纲'
my_list.append("郭德纲")
print(my_list)
# 3. 向列表的尾部添加数据 '岳云鹏'
my_list.append("岳云鹏")
print(my_list)
# 4. 向列表的尾部添加数据 '郭麒麟'
my_list.append("郭麒麟")
print(my_list)
# 5. 在下标为1 的位置添加数据 '于谦'
my_list.insert(1, "于谦")
print(my_list)
# 6. 定义一个列表my_list2, 包含数据: 孙越, 张云雷, 张鹤伦
my_list1 = ["孙越", "张云雷", "张鹤伦"]
# 7. 将 my_list2 中的所有数据逐个添加到 my_list 中
my_list.extend(my_list1)
print(my_list)
题目6 字符串遍历
要求用户输入一个字符串,遍历当前字符串并打印字符,如果遇见字符“q”,则跳出循环。如果遇见“ ”(空格)则跳过不输出。
答案
str1 = input("请输入字符串:")
for i in str1:
if i == "q":
break
elif i == " ":
continue
else:
print(i)
题目 7 过 7 游戏
题干
设计"过7 游戏” 程序,即在 1- 99 之间的数字中,如果数字 包含 7 或者是 7 的倍数,则输出"过…", 否则输出 具体的数字.
如: 7 14 17 71 都输出过
提示: 1. 使用循环获取 1-99 之间所有的数字, 2, 判断数字是否包含 7 或者是 7 的倍数
答案
for i in range(1,100):
if i%7==0 or str(i).find("7")!=-1:
print("过")
else:
print(i)
题目8 列表操作
有一个列表,判断列表中的每一个元素是否以s或e结尾,如果是,则将其放入一个新的列表中,最后输出这个新的列表
list1 = ["red", "apples", "orange", "pink", "bananas", "blue", "black", "white"]
提示: 字符串以什么结尾,即字符串中最后一个字符是 什么.
my_list = ["red", "apples", "orange", "pink", "bananas", "blue", "black", "white"]
my_list1 = list()
for i in my_list:
if i[-1] == "s" or i[-1] == "e":
my_list1.append(i)
print(my_list1)
题目 9 随机抽签功能[提高]
1. 使用 input 输入 5 个学生的名字存入列表
2. 随机的获取一个学生的名字并打印
答案
import random
list1 = list()
for i in range(5):
list1.append(input("请输入姓名:"))
print(list1[random.randint(0, 4)])
题目 10 for 循环求 1- 100 之间数字的和
sum=0
for i in range(1,101):
sum+=i
print(sum)