python笔记-2020/09/01上午-字符串练习(1)

取出字符串两边指定字符序列
str0 = "\nabc     abc\n"
str1 = "123abcdefg123"
1.需求:切除str0字符串两边空格和换行 # abc abc
res=str0.split()
print(res)
2.需求:切除str1两边的“123”字符串 #abcefg
res=str1.strip("123")
print(res)
3.需求:切除str1左边或者右边的“123”内容分别是?
res1=str1.lstrip("123")
res2=str1.rstrip("123")
print(res1,res2,sep=",")
转换方法
1.将字符串中的大写字母转换为小写字母
str0 = "aHello good"
res = str0.lower()
print(res)
2.将小写字母转为大写字母
res = str0.upper()
print(res)
3.将大写转为小写 小写转为大写
res = str0.swapcase()
print(res)
4.第一字母大写 其余全小写
res = str0.capitalize()
print(res)
5.将每个单词的首字母大写 其余的都是小写【单词和单词直接由空格隔开】
res = str0.title()
print(res)
案例:键盘录入年和月,要求输出对应月份的天数【平年和闰年】
time = input("请输入年月(例:200906):")
year = time[:4]
month = time[4:6]
print(year+"年",month+"月")
list1 = [1,3,5,7,8,10,12]
# list2 = [4,6,9,11]

if year%4 ==0:
    if month == 2:
        print(29)
    elif (month in list1):
        print(31)
    else:
        print(30)
else:
    if month == 2:
        print(28)
    elif (month in list1):
        print(31)
    else:
        print(30)


if year%4==0 and month==2 :
    print(29)
elif year%4==0 and month != 2:
    print(28)
elif year%4 != 0 and (month in list1):
    print(31)
elif year%4 != 0 and (month in list2):
    print(30)
else:
    print("请重新输入!")

&

year = int(input("请输入年份:"))
month = int(input("请输入月份:"))
if month >= 1 and month <= 12:
    if month in (1, 3, 5, 7, 8, 10, 12):
        day = 31
    elif month in (4, 6, 9, 11):
        day = 30
    else:
        if year % 400 == 0 or (year % 4 == 0 and year % 100 != 0):
            day = 29
        else:
            day = 28
    print("%d年%d月有%d天" % (year, month, day))
else:
    print("月份输入有误!")
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Python学习笔记|字符串与正则表达式练习题答案 1. 练习题1: 题目:给定一个字符串s,找出其中的连续的最长的数字串。 答案:可以通过正则表达式来匹配数字串,然后使用max函数找出最长的。 代码示例: import re def find_longest_num_str(s): num_str_list = re.findall('\d+', s) longest_str = max(num_str_list, key=len) return longest_str s = "ab1234c56789def" print(find_longest_num_str(s)) 输出:56789 2. 练习题2: 题目:给定一个字符串s,将其中的每个空格替换为"%20"。 答案:可以通过正则表达式的sub函数来实现替换。 代码示例: import re def replace_space(s): new_s = re.sub(' ', '%20', s) return new_s s = "Hello World" print(replace_space(s)) 输出:Hello%20World 3. 练习题3: 题目:给定一个字符串s,判断它是否为回文字符串。 答案:可以使用切片操作将字符串反转,然后与原字符串进行比较。 代码示例: def is_palindrome(s): return s == s[::-1] s = "abcba" print(is_palindrome(s)) 输出:True ### 回答2: 以下是关于字符串和正则表达式练习题的答案: 1. 给定一个字符串s,编写一个函数,返回该字符串的反转字符串。 def reverse_string(s): return s[::-1] 2. 给定一个字符串s,编写一个函数,返回是否是回文字符串。 def is_palindrome(s): return s == s[::-1] 3. 给定一个字符串s和一个字符c,编写一个函数,返回字符串s中字符c的出现次数。 def count_char(s, c): return s.count(c) 4. 给定一个字符串s,编写一个函数,返回字符串s中的所有单词列表。 def split_words(s): return s.split() 5. 给定一个字符串s,编写一个函数,返回字符串s中的所有数字列表。 import re def extract_numbers(s): return re.findall(r'\d+', s) 这只是一些可能的答案,其中的解决方法可以有很多种。每个问题都有不同的解决方案,具体取决于个人的编程风格和需求。希望这些答案能够帮助你理解和学习Python中的字符串和正则表达式。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值