python雨课堂课后答案 python课后题_子串


1. 接收输入的一行字符,统计出字符串中包含数字的个数;
# 接收输入的一行字符,统计出字符串中包含数字的个数;
int_shuzi = 0
str = input("please input str:")
for i in str:
    if i.isdigit():
        int_shuzi += 1
print("数字个数为:%d ," % int_shuzi)
2. 请输入星期几的第一个字母, 用来判断是星期几, 如果第一个字母一样, 则继续判断第2个字母,以此类推;
dayT = {'h': 'thursday', 'u': 'tuesday'}
dayS = {'a': 'saturday', 'u': 'sunday'}
day = {'t': dayT,  's': dayS, 'm': 'monday', 'w': 'wednesday', 'f': 'friday'}
a=input('请输入第一个字母:')
if a in day.keys():
    print(day[a])
    if a=='t' or a=='s':
        b=input('请输入第二个字母:')
        if a=='t' and b in dayT.keys():
                    print(dayT[b])
        if a=='s' and b in dayS.keys():
                    print(dayS[b])
    else:
                     print('没有此星期')
3.编写一个程序,计算字符串中子串出现的次数;
str_example = 'hello world in python in jieke hello'
str_recent = 'hello'
num =str_example.count(str_recent)
print("子串出现的次数:%d" % num)


python雨课堂课后答案 python课后题_子串_02


1、根据下述要求,编写一个程序∶用户输入一个字符串,将下标为偶数的字符提出来合并成一个新的字符串A,再将下标为奇数的字符提出来合并成一个新的字符串B,再将字符串A和B连接起来并输出。
str_string=str(input("输入一个字符串:"))
A=''
B=''
for a in str_string[::2]:
    A=A+a
for b in str_string[1::2]:
    B=B+b
print('A是:', A)
print('B是:', B)
print('AB合并后为:', A + B)
2、请编写一个程序, 用于统计字符串中每个字母出现次数(字母忽略大小写), 统计出的结果请按照[('a',1),( ‘b',3)]的格式输出。
str_string=input("输入字母:")
arr=[]
if str_string.isalpha():
    a={}
    for i in str_string:
        if str_string.count(i)>=1:
            a[i]=str_string.count(i)
    print(a)
else:
    print("输入的不全是字母")
3、请编写一个程序,请将字符串中所有字母全部向后移一位, 最后一个字母放在字符串的开头,对比输出修改前和修改后的字符串。
new_str=[]
odd_str=input("请输入字符串:")
print("修改前的字符串为:%s" %odd_str)
for i in odd_str:
    new_str.append(i)
last=new_str[-1]
new_str.remove(last)
new_str.insert(0, last)
for new in new_str:
     print(new, end='')
4、假设有个列表存了奇数个数字,请输出中间位置的数字,放置到末尾, 打印此时列表,再将列表从大到小进行重新排序。
arr = []
new_arr=[]
n = (input("请输入列表元素的个数(奇数):"))
for i in n:
    arr.append(i)
print("该列表中间位置的数字为:", arr[len(n)//2])
middle=arr[len(n)//2]
arr.remove(middle)
arr.append(middle)
print("此时的列表为:",arr)
arr.sort()
for j in arr:
    new_arr.append(j)
print("排序后的列表为:", new_arr)
5、请编写一个程序,实现删除列表中重复元素的功能。
old_str=input("输入字符串:")
print(old_str)
new_str=set(old_str)
print(new_str)
6、请编写一个程序,使用字典存储学生信息, 学生信息包括学号和姓名,请根据学生学号从小到大的顺序输出学生信息。
dict={}
i=int(input("请输入你要存放的学生个数:"))
j=0
while (j<i):
    list=[]
    id=input("请输入学生学号:")
    if id=="":
        break;
    else:
        name=input("请输入学生姓名:")
        list.append(name)
        dict[id]=list
    j+=1
print("------排序前------")
print(dict)
new = sorted(dict, key=lambda x:x[0], reverse=False)
print("------排序后------")
for i in new:
    a=dict.get(i, name)
    print(i, a)
    # print(a,end='')