day 03 字符串

课后作业

1.有变量name = "aleX leNb" 完成如下操作:

1)移除 name 变量对应的值两边的空格,并输出处理结果
name = "aleX leNb"
s1 = name.strip() #去掉左右两端的空格
print(s1)
View Code
2)移除name变量左边的"al"并输出处理结果
s2 = name.split("al")
print(s2)
View Code
3)移除name变量右⾯的"Nb",并输出处理结果
s3 = name.split("Nb")
print(s3)
View Code

 

4)移除name变量开头的a"与最后的"b",并输出处理结果
s4 = name.lstrip("a").rstrip("b")
print(s4)
View Code
5)判断 name 变量是否以 "al" 开头,并输出结果
s5 = name.startswith("al")
print(s5)
View Code
6)判断name变量是否以"Nb"结尾,并输出结果
s6 = name.endswith("Nb")
print(s6)
View Code

 

7)将 name 变量对应的值中的 所有的"l" 替换为 "p",并输出结果
s7  = name.replace("l","p")
print(s7)
View Code
8)将name变量对应的值中的第⼀个"l"替换成"p",并输出结果
s8 = name.replace("l","p",1)
print(s8)
View Code
9)将 name 变量对应的值根据 所有的"l" 分割,并输出结果。
s9 = name.split("l")
print(s9)
View Code
10)将name变量对应的值根据第⼀个"l"分割,并输出结果。
s10 = name.split("l",1)
print(s10)
View Code
11)将 name 变量对应的值变⼤写,并输出结果
s11 = name.upper()
print(s11)
View Code
12)将 name 变量对应的值变⼩写,并输出结果
s12 = name.lower()
print(s12)
View Code

 

13)将name变量对应的值⾸字⺟"a"⼤写,并输出结果
s13 = name.capitalize()
print(s13)
View Code
14)判断name变量对应的值字⺟"l"出现⼏次,并输出结果
s14 = name.count("l")
print(s14)
View Code

 

15)如果判断name变量对应的值前四位"l"出现⼏次,并输出结果
s15 = name.count("l",0,5)
print(s15)
View Code
16)从name变量对应的值中找到"N"对应的索引(如果找不到则报错),并输出结果
  s16 = name.index("N")
print(s16)
View Code
17)从name变量对应的值中找到"N"对应的索引(如果找不到则返回-1)输出结果
s17 = name.find("N")
print(s17)
View Code
18)从name变量对应的值中找到"X le"对应的索引,并输出结果
s18 = name.index("X le")
print(s18)
View Code

 

19)请输出 name 变量对应的值的第 2 个字符?
print(name[1])
View Code
20)请输出 name 变量对应的值的前 3 个字符?
print(name[0:3])
View Code
21)请输出 name 变量对应的值的后 2 个字符?
print(name[-3:-1])
View Code
22)请输出 name 变量对应的值中 "e" 所在索引位置?
print(name.find("e"))
View Code

 



2.有字符串s = "123a4b5c"
1)通过对s切片形成新的字符串s1,s1 = "123"
s1 = s
print(s1[0:3])
View Code
2)通过对s切片形成新的字符串s2,s2 = "a4b"
s2 = s
print(s2[3:6])
View Code
3)通过对s切片形成新的字符串s3,s3 = "1345"
s3 = s
print(s3[::2])
View Code
4)通过对s切片形成字符串s4,s4 = "2ab"
s4 = s
print(s4[1:6:2])
View Code
5)通过对s切片形成字符串s5,s5 = "c"
s5 = s
print(s5[7:8])
View Code
6)通过对s切片形成字符串s6,s6 = "ba2"
s6 = s
print(s6[-3::-2])
View Code

 



3.使用whilefor循环分别打印字符串s="asdfer"中每个元素。
s="asdfasf"
i = 0
while i < len(s):
    print(s[i])
    i += 1

for 曹宝宝 in s:
    print(曹宝宝)
View Code

 

 

4.使用for循环对s="asdfer"进⾏循环,但是每次打印的内容都是"asdfer"

s="asdfer"
for c in s:
    print(s)
View Code

 

 

5.使⽤for循环对s="abcdefg"进⾏循环,每次打印的内容是每个字符加上sb ,例如: asb, bsbcsb,...gsb

s="abcdefg"
for c in s:
    print(c + "sb")
View Code

 

 

6.使用for循环对s="321"进行循环,打印的内容依次是: "倒计时3""倒计时
2""倒计时1""出发! "

s="321"
for c in s:
    print(f"倒计时{c}秒")
else: # 当for中的循环结束之后自动执行else. break不会触发else的执行
print("出发")
View Code

 

 

7,实现一个整数加法计算器(两个数相加)
如: content = input("请输⼊内容:") 用户输⼊: 5+95+ 95 + 9,然后进
行分割再进行计算

content = input("请输入内容:").replace(" ", "")  # 5+9+16+32+64  ["5", "9"]
# 字符串切割
lst = content.split("+")  #  ["5", "9", "16", "32",....]
# 获取到两个数
a = lst[0]
b = lst[1]
print(int(a) + int(b))
View Code

 


8,升级题:实现一个整数加法计算器(多个数相加):
如: content = input("请输⼊内容:") 用户输入: 5+9+6 +12+ 13,然后进行
分割再进行计算。

content = input("请输入内容:").replace(" ", "")  # 5+9+16+32+64  ["5", "9"]
# 字符串切割
lst = content.split("+")  #  ["5", "9", "16", "32",....]
# 获取到两个数
a = lst[0]
b = lst[1]
print(int(a) + int(b))
# #
# # 多个数  s = "娃哈哈"
sum = 0
for el in lst:  # 可以使用for循环遍历列表       
    sum += int(el) # 累加
print(sum)
View Code

 

 

9,计算用户输入的内容中有几个整数(以个位数为单位)。
 如:content = input("请输入内容:") # 如fhdal234slfh98769fjdla

content = input("请输⼊内容:")
count = 0
for c in content:
    if c.isdigit():
        count += 1
print(count)
View Code

 

 

10、写代码,完成下列需求:
⽤户可持续输⼊(⽤while循环),⽤户使⽤的情况:
输⼊A,则显示⾛⼤路回家,然后在让⽤户进⼀步选择:
是选择公交⻋,还是步⾏?
选择公交⻋,显示10分钟到家,并退出整个程序。
选择步⾏,显示20分钟到家,并退出整个程序。
输⼊B,则显示⾛⼩路回家,并退出整个程序。
输⼊C,则显示绕道回家,然后在让⽤户进⼀步选择:
是选择游戏厅玩会,还是⽹吧?
选择游戏厅,则显示 ‘⼀个半⼩时到家,爸爸在家,拿棍等你。’并让其
重新输⼊A,B,C选项。
选择⽹吧,则显示‘两个⼩时到家,妈妈已做好了战⽃准备。’并让其重
新输⼊A,B,C选项。

while 1:
    content = input("请输入ABC:")
    if content.upper() == "A":
        print("走大路回家")
        tra = input("请选择公交车还是步行 ")
        if tra == "公交车":
            print("10分钟到家")
        else:
            print("20分钟到家")
        break
    elif content.upper() == "B":
        print("走小路回家")
        break
    elif content.upper() == "C":
        print("绕道回家")
        play = input("去游戏厅还是网吧?")
        if play == "游戏厅":
            print("⼀个半⼩时到家,爸爸在家,拿棍等你。")
        else:
            print("两个⼩时到家,妈妈已做好了战⽃准备。")
    else:
        print("输入错误. ")
View Code

 

 

11、写代码:计算 1 - 2 + 3 ... + 99 中除了88以外所有数的总和?

i = 1
sum = 0
while i < 100:

    if i%2 == 1:
        sum += i
    else:
        if i ==88:
            sum = sum
        else:
            sum -= i
    i += 1
print(sum)
View Code

 

 

12. (升级题)判断⼀句话是否是回⽂. 回⽂: 正着念和反着念是⼀样的. 例如, 上海
⾃来⽔来⾃海上(升级题)

content=input('请输入')
if content[::-1] == content:
    print('是回文')
else:
    print('元宝是元宝')
View Code

 

 

13. 输⼊⼀个字符串,要求判断在这个字符串中⼤写字⺟,⼩写字⺟,数字,
其它字符共出现了多少次,并输出出来

content = input("请输入一句话")
daxie = 0
xiaoxie = 0
shuzi = 0
qita = 0

for c in content:
    if c.isupper():
        daxie += 1
    elif c.islower():
        xiaoxie += 1
    elif c.isdigit():
        shuzi += 1
    else:
        qita += 1

print(daxie)
print(xiaoxie)
print(shuzi)
print(qita)
View Code

 

 

14、制作趣味模板程序需求:等待⽤户输⼊名字、地点、爱好,根据⽤户的名
字和爱好进⾏任意现实 如:敬爱可亲的xxx,最喜欢在xxx地⽅⼲xxx

name = input("名字:")
address = input("地点:")
hobby = input("爱好:")
print(f"敬爱可亲的{name},最喜欢在{address}地⽅⼲{hobby}")
View Code

 

 

15. (升级题) 给出百家姓. 然后⽤户输⼊⼀个⼈的名字. 判断这个⼈是否是百家
姓中的姓⽒(升级题)

百家姓:
first_names = """
赵钱孙李,周吴郑王。
冯陈褚卫,蒋沈韩杨。
朱秦尤许,何吕施张。
孔曹严华,⾦魏陶姜。
戚谢邹喻,柏⽔窦章。
云苏潘葛,奚范彭郎。
鲁⻙昌⻢,苗凤花⽅。
俞任袁柳,酆鲍史唐。
费廉岑薛,雷贺倪汤。
滕殷罗毕,郝邬安常。
乐于时傅,⽪卞⻬康。
伍余元⼘,顾孟平⻩。
和穆萧尹,姚邵湛汪。
祁⽑禹狄,⽶⻉明臧。
计伏成戴,谈宋茅庞。
熊纪舒屈,项祝董梁。
杜阮蓝闵,席季麻强。
贾路娄危,江童颜郭。
梅盛林***,钟徐邱骆。
⾼夏蔡⽥,樊胡凌霍。
虞万⽀柯,昝管卢莫。
经房裘缪,⼲解应宗。
丁宣贲邓,郁单杭洪。
包诸左⽯,崔吉钮龚。
程嵇邢滑,裴陆荣翁。
荀⽺於惠,甄曲家封。
芮羿储靳,汲邴糜松。
井段富巫,乌焦巴⼸。
牧隗⼭⾕,⻋侯宓蓬。
全郗班仰,秋仲伊宫。
宁仇栾暴,⽢钭厉戎。
祖武符刘,景詹束⻰。
叶幸司韶,郜黎蓟薄。
印宿⽩怀,蒲邰从鄂。
索咸籍赖,卓蔺屠蒙。

lst = ["上官", "欧阳", "", "", ""]
name = input("请输入你的名字") # 欧阳南你
for el in lst: # el 姓
    if name.startswith(el): # 判断开头
        print("百家姓里面的")
        break
else:
    print("对不起, 姓氏不在百家姓里")
View Code

 





 

 

 



 





 

 








































































































































































































































































































































































 

 

 

posted @ 2018-12-05 15:16  jack_zhangn`  阅读(104)  评论(0编辑  收藏  举报