# -*- coding: utf-8 -*-
# @Time : 2018/12/21 14:25
# @Author : Endless-cloud
# @Site :
# @File : day 03 课后作业.py
# @Software: PyCharm
# >>>>>>>>>1 :有变量name = "aleX leNb" 完成如下操作:
# >>>>>^1 :# 1)移除 name 变量对应的值两边的空格,并输出处理结果
# 1 1 ) 解 :
# name = " aleX leNb " # 没找到空格自己加一个
# l = name.strip()
# print(l)
#aleX leNb
# >>>>>>^2 :# 2)移除name变量左边的"al"并输出处理结果
# 1 2 ) 解:
# name = "aleX leNb"
# l = name.strip('al')
# print(l)
# eX leNb
# >>>>>>^ 3 :# 3)移除name变量右面的"Nb",并输出处理结果
# 1 3 ) 解:
# name = "aleX leNb"
# l =name.strip('Nb')
# print(l)
# aleX le
# >>>>>^ 4 :移除name变量开头的a"与最后的"b",并输出处理结果
# 1 4 )解 :
# name = "aleX leNb"
# l = name.strip('ab')
# print(l)
# leX leN
#>>>>>>^ 5 :# 5)判断 name 变量是否以 "al" 开头,并输出结果
# 1 5 ) 解
# name = "aleX leNb"
# l = name.startswith('al')
# print(l)
# True
# >>>>>> ^ 6 :# 6)判断name变量是否以"Nb"结尾,并输出结果
# 1 6 ) 解 :
# name = "aleX leNb"
# l = name.endswith('Nb')
# print(l)
# True
# >>>>> ^ 7 :# 7)将 name 变量对应的值中的 所有的"l" 替换为 "p",并输出结果
# 1 7 解:
# name = "aleX leNb"
# l = name.replace('l','p')
# print(l)
# apeX peNb
# >>>>>> ^ 8 :# 8)将name变量对应的值中的第一个"l"替换成"p",并输出结果
# 1 8 解 :
# name = "aleX leNb"
# l = name.replace('l','p',1)
# print(l)
# apeX leNb
# >>>>>>^ 9 :# 9)将 name 变量对应的值根据 所有的"l" 分割,并输出结果。
# 1 9 解 :
# name = "aleX leNb"
# l = name.split('l')
# print(l)
# ['a', 'eX ', 'eNb']
# >>>>>>> ^10 :# 10)将name变量对应的值根据第一个"l"分割,并输出结果。
# 1 10 解 :
# name = "aleX leNb"
# l = name.split('l',1)
# print(l)
# ['a', 'eX leNb']
# >>>>>>> ^ 11 :# 11)将 name 变量对应的值变大写,并输出结果
# 1 11 解:
# name = "aleX leNb"
# l = name.upper()
# print(l)
# ALEX LENB
#>>>>>> ^12 :# 12)将 name 变量对应的值变小写,并输出结果
# 1 12 解:
# name = "aleX leNb"
# l = name.lower()
# print(l)
# alex lenb
# >>>>>> ^13 :# 13)将name变量对应的值首字母"a"大写,并输出结果
# 1 13 解
# name = "aleX leNb"
# l = name.capitalize()
# print(l)
# Alex lenb
# >>>>>^14 :# 14)判断name变量对应的值字母"l"出现几次,并输出结果
# 1 14 A
# name = "aleX leNb"
# l = name.count('l')
# print(l)
# 2
# >>>>> ^15 : # 15)如果判断name变量对应的值前四位"l"出现几次,并输出结果
# 1 15 A
# name = "alelX leNb"
# l = name.count('l',0,4)
# print(l)
# 2
# >>>>>> ^16 :# 16)从name变量对应的值中找到"N"对应的索引(如果找不到则报错),并输出结果
# 1 16 A:
# name = "aleX leNb"
# l = name.index('N')
# # print(l)
# s = name.index('A')
# print(s)
# >>>>>> ^ 17 :# 17)从name变量对应的值中找到"N"对应的索引(如果找不到则返回-1)输出结果
# 1 17 A:
# name = "aleX leNb"
# l = name.find('N')
# # print(l)
# s = name.find('A')
# print(s)
# >>>>>>^ 18 :# 18)从name变量对应的值中找到"X le"对应的索引,并输出结果
# 1 18 A:
# name = "aleX leNb"
# l = name.find('X le')
# print(l)
# s = name.index('X le')
# print(s)
# 3
# 3
# >>>>^19 :# 19)请输出 name 变量对应的值的第 2 个字符?
# 1 19 :A
# name = "aleX leNb"
# print(name[2])
# print(name.find('e'))
# e
# 2
# >>>>>^20 :# 20)请输出 name 变量对应的值的前 3 个字符?
# 1 20 :A
# name = "aleX leNb"
# l = name[0 :3:1]
# print(l)
# # for i in name:
# # print(i + str(i.index(i)))
# l = len(name)
# i = 0
# lis = []
#
# while i <l:
# # print(name[i]+ str(i))
#
# lis.append(name[i]+str(i))
# i = i + 1
# print(lis)
# >>>>>^ 21 : # 21)请输出 name 变量对应的值的后 2 个字符?
# 1 21 :A
# name = "aleX leNb"
# l =name[-2:]
# print(l)
# Nb
# >>>>>>^ 22 :# 22)请输出 name 变量对应的值中 "e" 所在索引位置(两个e都找)?
# 1 22 :A #####???????? 不是很懂
name = "aleX leNb"
i = 0
l = len(name)
# s = name.find('e')
# print(s)
# while i < l:
# if name.find('e')!=-1:
# print(name.find('e'))
# name = name[name.find('e')+1:]
# #
'''
# while i < l:
# if name[i].find('e') !=-1:
# print(name.find('e',i))
# i = i+1
2
6
'''
# >>>>>>2 :,有字符串s = "123a4b5c"
#>>>>>^ 1: # 1)通过对s切片形成新的字符串s1,s1 = "123"
# 2 1 :A
# s = "123a4b5c"
# s1 =s[:3:]
# print(s1)
# 123
# >>>>> ^ 2 # 2)通过对s切片形成新的字符串s2,s2 = "a4b"
# 2 2 :A
# s = "123a4b5c"
# s2 = s[3:6]
# print(s2)
#>>>>> ^ 3 # 3)通过对s切片形成新的字符串s3,s3 = "1345"
# s = "123a4b5c"
# s3 =s[::2]
# print(s3)
#>>>>>> ^ 4 # 4)通过对s切片形成字符串s4,s4 = "2ab"
# s = "123a4b5c"
# s4 = s[1:-2:2]
# print(s4)
# >>>>>> ^ 5 :# 5)通过对s切片形成字符串s5,s5 = "c"
# s = "123a4b5c"
# s5 =s[-1:]
# # print(s5)
# >>>>> ^6 :# 6)通过对s切片形成字符串s6,s6 = "ba2"
# s = "123a4b5c"
# s6=s[-3:-8:-2]
# print(s6)
# >>>>>> 3 # 3,使用while和for循环分别打印字符串s="asdfer"中每个元素。
# i = 0
# s ='asdfer'
# while i < len(s):
# print(s[i]+ str(i))
# i =i +1
# for i in s:
# print(i)
# >>>>>>4 # # 4,使用for循环对s="asdfer"进行循环,但是每次打印的内容都是"asdfer"。
# s ='asdfer'
# for i in range(len(s)):
# i = str(i)
# i=s
# print(str(i))
# for i in s:
# i =s
# print(i)
# >>>>> 5 :# 5,使用for循环对s="abcdefg"进行循环,每次打印的内容是每个字符加上sb,
# 例如:asb, bsb,csb,...gsb。
# s="abcdefg"
# for i in s:
# print(i + 'sb')
# asb
# bsb
# csb
# dsb
# esb
# fsb
# gsb
# >>>>>>6,使用for循环对s="321"进行循环,打印的内容依次是:"倒计时3秒"
# ,"倒计时2秒","倒计时1秒","出发!"。
# s = '321'
# for i in s:
# print('倒计时%s秒'%(i))
# print('出发')
# >>>>>>7 ,# 7,实现一个整数加法计算器(两个数相加):
# # 如:content = input("请输入内容:") 用户输入:
# 5+9或5+ 9或5 + 9,然后进行分割再进行计算。两种方式
# content1 = input("请输入内容1:")
# l = content1.strip()
######^^^^^^^解法1
# s = content1.split('+')
# sum = 0
# for i in s:
# l = i.strip()
# sum = sum + int(l)
# print(sum)
######^^^^^^解法2
# content1 = input("请输入内容1:")
# l = []
# for i in content1:
# if i.isalnum():
# l.append(i)
# sum = 0
# for i in l:
# sum =sum + int(i[0])
# print(sum)
#>>>>>>>>>8# 8,升级题:实现一个整数加法计算器(多个数相加):
# 如:content = input("请输入内容:") 用户输入:5+9+6 +12+ 13,然后进行分割再进行计算。
# 8 A:
# content = input("请输入内容:")
# l = content.split('+')
# sum = 0
# for i in l:
# sum = sum + int(i.strip())
# print(sum)
# >>>>>>>>>9 :# 9,计算用户输入的内容中有几个整数(以个位数为单位)。
# 9 A :
# contect =input('请输入字符串')
# j = 0
# for i in contect:
# if i.isdigit():
# j = j + 1
# print(j)
# >>>>>>> 10 :# 10、写代码,完成下列需求:
# # 用户可持续输入(用while循环),用户使用的情况:
# # 输入A,则显示走大路回家,然后在让用户进一步选择:
# # 是选择公交车,还是步行?
# # 选择公交车,显示10分钟到家,并退出整个程序。
# # 选择步行,显示20分钟到家,并退出整个程序。
# # 输入B,则显示走小路回家,并退出整个程序。
# # 输入C,则显示绕道回家,然后在让用户进一步选择:
# # 是选择游戏厅玩会,还是网吧?
# # 选择游戏厅,则显示 ‘一个半小时到家,爸爸在家,拿棍等你。’并让其重新输入A,B,C选项。
# # 选择网吧,则显示‘两个小时到家,妈妈已做好了战斗准备。’并让其重新输入A,B,C选项。
# class gohome(object):
# def __init__(self):
# pass
# def A(self):
# print('走大路回家')
# chioce = input('请选择公交车还是步行 , 1 or 2')
# if chioce =='1' :
# print('公交车 ,10分钟到家')
# exit()
# else:print('步行 , 20分钟到家')
# exit()
#
# def B(self):
# print('走小路回家')
# exit()
# def C(self):
# print('绕路回家')
# def play(self):
# xuanze = input('请选择1.游戏厅还是2.网吧 1 or 2')
# if xuanze=='1' :
# print('一个半小时到家,爸爸在家,拿棍等你')
# self.run()
#
# elif xuanze=='2':
# print('两个小时到家,妈妈已做好了战斗准备')
# self.run()
#
#
#
# def run(self):
# nr = input('请选择回家方式 ,A ,B ,C')
# return nr.upper()
# if __name__ == '__main__':
# go = gohome()
# while True:
# l =go.run()
# if l =='A':
# go.A()
# elif l =='B':
# go.B()
# elif l == 'C':
# go.C()
# go.play()
# # print('程序结束')
# flag = True
# while flag:
# sr = input('请选择回家方式').upper()
# if sr =='A':
# print('走大路回家')
# sr2 = input('请输入大路回家方式 1 or 2')
# if sr2 =='1':
# print('做公交车回家')
# # exit()
# elif sr2 =='2':
# print('走路回家')
# # exit()
# flag =False
# elif sr =='B':
# print('走小路回家')
# flag =False
#
# elif sr =='C':
# print('去玩的路上')
# sr3 = input('请输入去哪里玩 1,or,2')
# if sr3=='1':
# print('一个半小时到家,爸爸在家,拿棍等你')
# flag=True
# elif sr3 == '2':
# print('两个小时到家,妈妈已做好了战斗准备')
# flag=True
#
# >>>>>>. # 11、写代码:计算 1 - 2 + 3 ... + 99 中除了88以外所有数的总和?
# sun = 0
# for i in range(100):
# if str(i) =='88':
# pass
# else:
# if i%2==0:
# sun =sun-i
# elif i%2==1:
# sun =sun+i
# print(sun)
# >>>>>>12 :# 12,判断⼀句话是否是回⽂.
# 回⽂: 正着念和反着念是⼀样的. 例如, 上海 ⾃来⽔来⾃海上(升级题)
# contect = input('请输入内容')
# i= 0
# l = []
# while i<len(contect):
# if contect[i] ==contect[len(contect)-i-1]:
# l.append('ok')
#
# else:l.append('no')
# i= i+ 1
#
# if 'no' in l:
# print('不是回文')
#
# else:
# print('是回文')
# l =len(contect)//2+1
# if contect[0:l+1:1] ==contect[-1:-l-2:-1]:
# print('是回文')
# else:print('不是回文')
# >>>>>>>>>>># 13.输⼊⼀个字符串,要求判断在这个字符串中⼤写字⺟,⼩写字⺟,数字,
# 其它字符共出现了多少次,并输出出来
# 13 A :
# DA = 'ABCDEFJGIGKLMNOPQRSTUVWXYZ'
# xiao = 'abcdefjhigklmnopqrstuvwxyz'
# num = '1234567890'
# concent = input('请输入字符串')
# dacount = 0
# xiaocount = 0
# numcount = 0
# for i in concent:
# if i in DA:
# dacount = dacount +1
# elif i in xiao:
# xiaocount = xiaocount + 1
# elif i in num :
# numcount = numcount+1
# print('大写有 %s'%(dacount))
# print('小写有 %s'%(xiaocount))
# print('数字有 %s'%numcount)
# >>>>>> 14 :# 14、制作趣味模板程序需求:等待⽤户输⼊名字、地点、爱好,
# 根据⽤户的名字和爱好进⾏任意现实 如:敬爱可亲的xxx,最喜欢在xxx地⽅⼲xxx
# name = input('请输入名字')
# address = input('请输入地点')
# hobby = input('请输入爱好')
# msg = '''
# >>>>>>>>>>>>>>>XXXXXXXXX>>>>>>>>
# 尊敬可爱的{0}
# 最喜欢在{1}
# 干{2}
#
#
#
#
# '''.format(name,address,hobby)
# print(msg)
# >>>>>>> 15 :# 15.给出百家姓. 然后⽤户输⼊⼀个⼈的名字. 判断这个⼈是否是百家 姓中的姓⽒(升级题)
# # 百家姓: first_names = """ 赵钱孙李,周吴郑王。 冯陈褚卫,蒋沈韩杨。 朱秦尤许,何吕施张。 孔曹严华,⾦魏陶姜。 戚谢邹喻,柏⽔窦章。 云苏潘葛,奚范彭郎。 鲁⻙昌⻢,苗凤花⽅。 俞任袁柳,酆鲍史唐。 费廉岑薛,雷贺倪汤。 滕殷罗毕,郝邬安常。 乐于时傅,⽪卞⻬康。 伍余元⼘,顾孟平⻩。 和穆萧尹,姚邵湛汪。 祁⽑禹狄,⽶⻉明臧。 计伏成戴,谈宋茅庞。 熊纪舒屈,项祝董梁。 杜阮蓝闵,席季麻强。 贾路娄危,江童颜郭。 梅盛林刁,钟徐邱骆。 ⾼夏蔡⽥,樊胡凌霍。 虞万⽀柯,昝管卢莫。 经房裘缪,⼲解应宗。 丁宣贲邓,郁单杭洪。 包诸左⽯,崔吉钮龚。 程嵇邢滑,裴陆荣翁。 荀⽺於惠,甄曲家封。 芮羿储靳,汲邴糜松。 井段富巫,乌焦巴⼸。 牧隗⼭⾕,⻋侯宓蓬。 全郗班仰,秋仲伊宫。 宁仇栾暴,⽢钭厉戎。 祖武符刘,景詹束⻰。 叶幸司韶,郜黎蓟薄。 印宿⽩怀,蒲邰从鄂。 索咸籍赖,卓蔺屠蒙。 池乔阴鬱,胥能苍双。 闻莘党翟,谭贡劳逄。 姬申扶堵,冉宰郦雍。 卻璩桑桂,濮⽜寿通。 边扈燕冀,郏浦尚农。 温别庄晏,柴瞿阎充。 慕连茹习,宦艾⻥容。 向古易慎,⼽廖庾终。 暨居衡步,都耿满弘。 匡国⽂寇,⼴禄阙东。 欧⽎沃利,蔚越夔隆。 师巩厍聂,晁勾敖融。 冷訾⾟阚,那简饶空。 曾毋沙乜,养鞠须丰。 巢关蒯相,查后荆红。 游竺权逯,盖益桓公。 万俟司⻢,上官欧阳。 夏侯诸葛,闻⼈东⽅。 赫连皇甫,尉迟公⽺。 澹台公冶,宗政濮阳。 淳于单于,太叔申屠。 公孙仲孙,轩辕令狐。 钟离宇⽂,⻓孙慕容。 鲜于闾丘,司徒司空。 丌官司寇,仉督⼦⻋。 颛孙端⽊,巫⻢公⻄。 漆雕乐正,壤驷公良。 拓跋夹⾕,宰⽗⾕梁。 晋楚闫法,汝鄢涂钦。 段⼲百⾥,东郭南⻔。 呼延归海,⽺⾆微⽣。 岳帅缑亢,况郈有琴。 梁丘左丘,东⻔⻄⻔。 商牟佘佴,伯赏南宫。 墨哈谯笪,年爱阳佟。 第五⾔福,百家姓终。 """
# first_names = """ 赵钱孙李,周吴郑王。 冯陈褚卫,蒋沈韩杨。 朱秦尤许,何吕施张。 孔曹严华,⾦魏陶姜。 戚谢邹喻,柏⽔窦章。 云苏潘葛,奚范彭郎。 鲁⻙昌⻢,苗凤花⽅。 俞任袁柳,酆鲍史唐。 费廉岑薛,雷贺倪汤。 滕殷罗毕,郝邬安常。 乐于时傅,⽪卞⻬康。 伍余元⼘,顾孟平⻩。 和穆萧尹,姚邵湛汪。 祁⽑禹狄,⽶⻉明臧。 计伏成戴,谈宋茅庞。 熊纪舒屈,项祝董梁。 杜阮蓝闵,席季麻强。 贾路娄危,江童颜郭。 梅盛林刁,钟徐邱骆。 ⾼夏蔡⽥,樊胡凌霍。 虞万⽀柯,昝管卢莫。 经房裘缪,⼲解应宗。 丁宣贲邓,郁单杭洪。 包诸左⽯,崔吉钮龚。 程嵇邢滑,裴陆荣翁。 荀⽺於惠,甄曲家封。 芮羿储靳,汲邴糜松。 井段富巫,乌焦巴⼸。 牧隗⼭⾕,⻋侯宓蓬。 全郗班仰,秋仲伊宫。 宁仇栾暴,⽢钭厉戎。 祖武符刘,景詹束⻰。 叶幸司韶,郜黎蓟薄。 印宿⽩怀,蒲邰从鄂。 索咸籍赖,卓蔺屠蒙。 池乔阴鬱,胥能苍双。 闻莘党翟,谭贡劳逄。 姬申扶堵,冉宰郦雍。 卻璩桑桂,濮⽜寿通。 边扈燕冀,郏浦尚农。 温别庄晏,柴瞿阎充。 慕连茹习,宦艾⻥容。 向古易慎,⼽廖庾终。 暨居衡步,都耿满弘。 匡国⽂寇,⼴禄阙东。 欧⽎沃利,蔚越夔隆。 师巩厍聂,晁勾敖融。 冷訾⾟阚,那简饶空。 曾毋沙乜,养鞠须丰。 巢关蒯相,查后荆红。 游竺权逯,盖益桓公。 万俟司⻢,上官欧阳。 夏侯诸葛,闻⼈东⽅。 赫连皇甫,尉迟公⽺。 澹台公冶,宗政濮阳。 淳于单于,太叔申屠。 公孙仲孙,轩辕令狐。 钟离宇⽂,⻓孙慕容。 鲜于闾丘,司徒司空。 丌官司寇,仉督⼦⻋。 颛孙端⽊,巫⻢公⻄。 漆雕乐正,壤驷公良。 拓跋夹⾕,宰⽗⾕梁。 晋楚闫法,汝鄢涂钦。 段⼲百⾥,东郭南⻔。 呼延归海,⽺⾆微⽣。 岳帅缑亢,况郈有琴。 梁丘左丘,东⻔⻄⻔。 商牟佘佴,伯赏南宫。 墨哈谯笪,年爱阳佟。 第五⾔福,百家姓终。 """
# l =first_names
# s = l.replace(',','')
# s1 =s.replace('.','')
# s2 = s1.replace(' ','')
# i = input('请输入名字')
# if i[:2] in s2[-4:]:
# print('2ok')
# elif i[:1] in s2[-4:] :
# print('1ok')
# else: print('no')
# contect = input('请输入名字').strip()
# for i in contect:
# if contect[:2:] in first_names[-6:]:
# print('这个人是复姓')
# elif contect[1:] in first_names[-6:]:
# print('这个人是单姓')
# else: print('不在里面')
# l = first_names.strip()
# s = l.replace(',','')
# s1 =s.replace('.','')
# s2 = s1.replace(' ','')
# print(s2)
# i = input('aa')
# if i[:2] in s2:
# print('ok')
# elif i[:1] in s2 :
# print('1ok')
# else: print('no')