题目
1. 作业
1,有变量name = "aleX leNb" 完成如下操作: 1) 移除 name 变量对应的值两边的空格,并输出处理结果 2) 移除name变量左边的"al"并输出处理结果 3) 移除name变量右面的"Nb",并输出处理结果 4) 移除name变量开头的a"与最后的"b",并输出处理结果 5) 判断 name 变量是否以 "al" 开头,并输出结果 6) 判断name变量是否以"Nb"结尾,并输出结果 7) 将 name 变量对应的值中的 所有的"l" 替换为 "p",并输出结果 8) 将name变量对应的值中的第一个"l"替换成"p",并输出结果 9) 将 name 变量对应的值根据 所有的"l" 分割,并输出结果。 10) 将name变量对应的值根据第一个"l"分割,并输出结果。 11) 将 name 变量对应的值变大写,并输出结果 12) 将 name 变量对应的值变小写,并输出结果 13) 将name变量对应的值首字母"a"大写,并输出结果 14) 判断name变量对应的值字母"l"出现几次,并输出结果 15) 如果判断name变量对应的值前四位"l"出现几次,并输出结果 16) 从name变量对应的值中找到"N"对应的索引(如果找不到则报错),并输出结果 17) 从name变量对应的值中找到"N"对应的索引(如果找不到则返回-1)输出结果 18) 从name变量对应的值中找到"X le"对应的索引,并输出结果 19) 请输出 name 变量对应的值的第 2 个字符? 20) 请输出 name 变量对应的值的前 3 个字符? 21) 请输出 name 变量对应的值的后 2 个字符? 22) 请输出 name 变量对应的值中 "e" 所在索引位置? 2,有字符串s = "123a4b5c" 1)通过对s切片形成新的字符串s1,s1 = "123" 2)通过对s切片形成新的字符串s2,s2 = "a4b" 3)通过对s切片形成新的字符串s3,s3 = "1345" 4)通过对s切片形成字符串s4,s4 = "2ab" 5)通过对s切片形成字符串s5,s5 = "c" 6)通过对s切片形成字符串s6,s6 = "ba2" 3,使用while和for循环分别打印字符串s="asdfer"中每个元素。 4,使用for循环对s="asdfer"进行循环,但是每次打印的内容都是"asdfer"。 5,使用for循环对s="abcdefg"进行循环,每次打印的内容是每个字符加上sb, 例如:asb, bsb,csb,...gsb。 6,使用for循环对s="321"进行循环,打印的内容依次是:"倒计时3秒","倒计时2秒","倒计时1秒","出发!"。 7,实现一个整数加法计算器(两个数相加): 如:content = input("请输入内容:") 用户输入:5+9或5+ 9或5 + 9,然后进行分割再进行计算。 8,升级题:实现一个整数加法计算器(多个数相加): 如:content = input("请输入内容:") 用户输入:5+9+6 +12+ 13,然后进行分割再进行计算。 9,计算用户输入的内容中有几个整数(以个位数为单位)。 如:content = input("请输入内容:") # 如fhdal234slfh98769fjdla 10、写代码,完成下列需求: 用户可持续输入(用while循环),用户使用的情况: 输入A,则显示走大路回家,然后在让用户进一步选择: 是选择公交车,还是步行? 选择公交车,显示10分钟到家,并退出整个程序。 选择步行,显示20分钟到家,并退出整个程序。 输入B,则显示走小路回家,并退出整个程序。 输入C,则显示绕道回家,然后在让用户进一步选择: 是选择游戏厅玩会,还是网吧? 选择游戏厅,则显示 ‘一个半小时到家,爸爸在家,拿棍等你。’并让其重新输入A,B,C选项。 选择网吧,则显示‘两个小时到家,妈妈已做好了战斗准备。’并让其重新输入A,B,C选项。 11、写代码:计算 1 - 2 + 3 ... + 99 中除了88以外所有数的总和? 16、制作趣味模板程序需求:等待⽤户输⼊名字、地点、爱好,根据⽤户的名字和爱好进⾏任意现实 如:敬爱可亲的xxx,最喜欢在xxx地⽅⼲xxx 17、等待⽤户输⼊内容,检测⽤户输⼊内容中是否包含敏感字符?如果存在敏感字符提示“存在敏感字符请重新输⼊”,并允许⽤户重新输⼊并打印。敏感字符:“⼩粉嫩”、“⼤铁锤”
2.
2.默写
分别用while,for循环输出字符串s = input("你想输入的内容")的每一个字符。
答案
1,有变量name = "aleX leNb" 完成如下操作:
1) 移除 name 变量对应的值两边的空格,并输出处理结果
print(name.strip()) aleX leNb
2) 移除name变量左边的"al"并输出处理结果
print(name.lstrip('al')) eX leNb
3) 移除name变量右面的"Nb",并输出处理结果
print(name.rstrip('Nb')) aleX le
4) 移除name变量开头的a"与最后的"b",并输出处理结果
print(name.strip('ab')) leX leN
5) 判断 name 变量是否以 "al" 开头,并输出结果
print(name.startswith('al')) True
6) 判断name变量是否以"Nb"结尾,并输出结果
print(name.endswith('Nb')) True
7) 将 name 变量对应的值中的 所有的"l" 替换为 "p",并输出结果
print(name.replace('l', 'p')) apeX peNb
8) 将name变量对应的值中的第一个"l"替换成"p",并输出结果
print(name.replace('l', 'p', 1)) apeX leNb
9) 将 name 变量对应的值根据 所有的"l" 分割,并输出结果。
print(name.split('l')) ['a', 'eX ', 'eNb']
10) 将name变量对应的值根据第一个"l"分割,并输出结果。
print(name.split('l', 1)) ['a', 'eX leNb']
11) 将 name 变量对应的值变大写,并输出结果
print(name.upper()) ALEX LENB
12) 将 name 变量对应的值变小写,并输出结果
print(name.lower()) alex lenb
13) 将name变量对应的值首字母"a"大写,并输出结果
print(name.capitalize()) Alex lenb
14) 判断name变量对应的值字母"l"出现几次,并输出结果
print(name.count('l')) 2
15) 如果判断name变量对应的值前四位"l"出现几次,并输出结果
print(name.count('l', 0, 4)) 1
16) 从name变量对应的值中找到"N"对应的索引(如果找不到则报错),并输出结果
print(name.index('N')) 7
17) 从name变量对应的值中找到"N"对应的索引(如果找不到则返回-1)输出结果
print(name.find('N')) 7
18) 从name变量对应的值中找到"X le"对应的索引,并输出结果
print(name.find('X le')) 3
19) 请输出 name 变量对应的值的第 2 个字符?
print(name[1]) l
20) 请输出 name 变量对应的值的前 3 个字符?
print(name[:3]) ale
21) 请输出 name 变量对应的值的后 2 个字符?
print(name[-2::-1]) Nb
22) 请输出 name 变量对应的值中 "e" 所在索引位置?
print(name.find('e')) 2
2,有字符串s = "123a4b5c"
1)通过对s切片形成新的字符串s1,s1 = "123"
s1 = s[:3]
2)通过对s切片形成新的字符串s2,s2 = "a4b"
s2 = s[3:6]
3)通过对s切片形成新的字符串s3,s3 = "1345"
s3 = s[::2]
4)通过对s切片形成字符串s4,s4 = "2ab"
s4 = s[1:6:2]
5)通过对s切片形成字符串s5,s5 = "c"
s5 = s[-1]
6)通过对s切片形成字符串s6,s6 = "ba2"
s6 = s[-3:0:-2]
3,使用while和for循环分别打印字符串s="asdfer"中每个元素。
使用while循环: index = 0 while index < len(s): print(s[index]) index += 1 使用for循环: for i in s: print(i)
4,使用for循环对s="asdfer"进行循环,但是每次打印的内容都是"asdfer"。
for i in s: print(s)
5,使用for循环对s="abcdefg"进行循环,每次打印的内容是每个字符加上sb, 例如:asb, bsb,csb,...gsb。
for i in s: print(i + 'sb')
6,使用for循环对s="321"进行循环,打印的内容依次是:"倒计时3秒","倒计时2秒","倒计时1秒","出发!"。
for i in s: print('倒计时{}秒'.format(i)) if i == '1': print('出发!')
7,实现一个整数加法计算器(两个数相加):
如:content = input("请输入内容:") 用户输入:5+9或5+ 9或5 + 9,然后进行分割再进行计算。
content = input('请输入内容:') l1 = content.split('+') print(int(l1[0].strip()) + int(l1[1].strip()))
8,升级题:实现一个整数加法计算器(多个数相加):
如:content = input("请输入内容:") 用户输入:5+9+6 +12+ 13,然后进行分割再进行计算。
content = input('请输入内容:') sum = 0 l1 = content.split('+') for i in l1: sum += int(i.strip()) print(sum)
9,计算用户输入的内容中有几个整数(以个位数为单位)。
如:content = input("请输入内容:") # 如fhdal234slfh98769fjdla
content = input('请输入内容:') count = 0 for i in content: if i.isdigit(): count += 1 print(count)
10、写代码,完成下列需求:
用户可持续输入(用while循环),用户使用的情况:
输入A,则显示走大路回家,然后在让用户进一步选择:
是选择公交车,还是步行?
选择公交车,显示10分钟到家,并退出整个程序。
选择步行,显示20分钟到家,并退出整个程序。
输入B,则显示走小路回家,并退出整个程序。
输入C,则显示绕道回家,然后在让用户进一步选择:
是选择游戏厅玩会,还是网吧?
选择游戏厅,则显示 ‘一个半小时到家,爸爸在家,拿棍等你。’并让其重新输入A,B,C选项。
选择网吧,则显示‘两个小时到家,妈妈已做好了战斗准备。’并让其重新输入A,B,C选项。
while 1: content = input('请输入A/B/C:') if content == 'A': print('走大路回家') choice_A = input('请输入公交车还是步行:') if choice_A == '公交车': print('10分钟到家') break elif choice_A == '步行': print('20分钟到家') break if content == 'B': print('走小路回家') break if content == 'C': print('绕道回家') choice_C = input('请输入游戏厅还是网吧:') if choice_C == '游戏厅': print('一个半小时到家,爸爸在家,拿棍等你。') continue if choice_C == '网吧': print('两个小时到家,妈妈已做好了战斗准备') continue
11、写代码:计算 1 - 2 + 3 ... + 99 中除了88以外所有数的总和?
count = 1 sum = 0 while count < 100: if count == 88: count += 1 continue sum += count * (-1) ** (count + 1) count += 1 print(sum)
16、制作趣味模板程序需求:等待⽤户输⼊名字、地点、爱好,根据⽤户的名字和爱好进⾏任意现实 如:敬爱可亲的xxx,最喜欢在xxx地⽅⼲xxx
content_name = input('请输入姓名:') content_place = input('请输入地点:') content_hobby = input('请输入爱好:') print('敬爱可亲的{}, 最喜欢在{}地方干{}'.format(content_name, content_place, content_hobby))
17、等待⽤户输⼊内容,检测⽤户输⼊内容中是否包含敏感字符?如果存在敏感字符提示“存在敏感字符请重新输⼊”,并允许⽤户重新输⼊并打印。敏感字符:“⼩粉嫩”、“⼤铁锤”
while 1: content = input('请输入内容:') if '小粉嫩' in content: print('存在敏感字符请重新输⼊') continue elif '大铁锤' in content: print('存在敏感字符请重新输⼊') continue else: break
默写
分别用while,for循环输出字符串s = input("你想输入的内容")的每一个字符