# ---------------------------------------------
if __name__ == '__main__':
i = input("请输入练习题序号[1-5]:").strip()
# 1、
# 输入用户信息:
#
# 提示用户输入姓名,对输入的内容进行判断,
# 如果输入中包含数字或特殊符号,提示用户输入不正确,请重新输入。
#
# 如果输入正确,提示用户"您输入的用户名为:xxx"
#
# 提示用户输入年龄,如果输入是 0--100 岁之间的数字,
# 提示用户,您输入的年龄为XX 岁,
# 否则提示用户,您输入的有误,请重新输入
if i == '1':
while True:
# 输入时, 去除两边的空格, 用户可能会多输入空格
name_str = input("请输入姓名:").strip()
# 循环取出姓名中的每一位字符
for one_str in name_str:
# 对这个字符进行判断
# 当这个字符 是数字时:
if one_str.isdigit():
print("输入中包含数字,输入不正确,请重新输入")
break
# 判断不是中文 并且 不是字母时
if (not (u'\u4e00' <= one_str <= u'\u9fff')) and (not one_str.isalpha()):
print("输入中包含或特殊符号,输入不正确,请重新输入")
break
# 用户输入正确, 没有出现数字和特殊字符
else:
print("您输入的用户名为:{}".format(name_str))
# 退出while循环
break
while True:
age_str = input("请输入年龄:").strip()
# 当输入不是数字时:
if not age_str.isdigit():
print("您输入的有误,输入非数字, 请重新输入")
# 当输入是数字时, 转换成int类型
else:
age_int = int(age_str)
# 输入有误,数字年龄范围有误
if age_int <= 0 or age_int > 100:
print("您输入的有误,数字年龄范围有误, 请重新输入")
else:
print("您输入的年龄为: {}岁".format(age_int))
# 退出while循环
break
# ---------------------------------------------
# 2、
# 字符串处理:
#
# 现有字符串 msg = "hello python ni hao"
# 将其中所有的空格改为下划线,得到新字符串:"hello_python_ni_hao"
#
# 现有字符串 msg = "hello python ni hao"
# 统计字符串"o" 出现的次数和位置
#
# 现有字符串 msg = "hello python ni hao"
# 删除字符串中所有的空格,并打印结果:"hellopythonnihao"
elif i == '2':
msg = "hello python ni hao"
new_msg = msg.replace(" ", "_")
print(new_msg)
print("o出现的次数是: {}".format(msg.count('o')))
# 统计o出现的次数
count_set = set()
for idx in range(len(msg)):
count_num = msg.find("o", idx)
count_set.add(count_num)
# 将集合转成列表 好进行排序
count_list = list(count_set)
count_list.sort()
print("o出现的位置是: {}".format(count_list))
# 删除字符串中所有的空格,并打印结果
print(msg.replace(" ", ""))
# ---------------------------------------------
# 3、
# 现有列表 name_list = ["tom","zhangsan","lisi"],
# 根据列表内容生成字符串:"tomzhangsanlisi"
elif i == '3':
name_list = ["tom", "zhangsan", "lisi"]
print("".join(name_list))
# ---------------------------------------------
# 4、
# 使用字符串切片练习:
#
# 现在有字符串:msg = "0123456789"
#
# 1. 截取从 2 ~ 5 位置 的字符串
#
# 2. 截取从 2 ~ 末尾 的字符串
#
# 3. 截取从 开始 ~ 5 位置 的字符串
#
# 4. 截取完整的字符串
#
# 5. 从开始位置,每隔一个字符截取字符串
#
# 6. 从索引 1 开始,每隔一个取一个
#
# 7. 截取从 2 ~ 末尾 的字符串
#
# 8. 截取字符串末尾两个字符
#
# 9. 字符串的逆序
elif i == '4':
msg = "0123456789"
# 1. 截取从 2 ~ 5 位置 的字符串
print(msg[2:6])
# 2. 截取从 2 ~ 末尾 的字符串
print(msg[2:])
# 3. 截取从 开始 ~ 5 位置 的字符串
print(msg[:6])
# 4. 截取完整的字符串
print(msg[:])
# 5. 从开始位置,每隔一个字符截取字符串
print(msg[::2])
# 6. 从索引 1 开始,每隔一个取一个
print(msg[1::2])
# 7. 截取从 2 ~ 末尾 的字符串
print(msg[2:])
# 8. 截取字符串末尾两个字符
print(msg[-2:])
# 8. 字符串的逆序
print(msg[::-1])
# ---------------------------------------------
# 5、
# 字符串清理:
#
# 现有字符串 msg = "hel@#$lo pyt \nhon ni\t hao%$" ,
# 去掉所有不是英文字母的字符,
# 打印结果:"清理以后的结果为:hellopythonnihao
elif i == '5':
msg = "hel@#$lo pyt \nhon ni\t hao%$"
msg_list = list()
# 遍历msg字符串
for single_one in msg:
# 当前是字母时, 添加到列表里
if single_one.isalpha():
msg_list.append(single_one)
print("清理以后的结果为:{}".format("".join(msg_list)))
'abc'.index('c')
字符串_代码练习题
最新推荐文章于 2022-08-19 02:53:28 发布