Python编程练习(四)

目录

1.找出10000以内能被5或6整除,但不能被两者同时整除的数 

2.写一个方法,计算列表所有偶数下标元素的和

3.去掉字符串数组中每个字符串的空格

4.根据标点符号对字符串进行分行

5.让用户输入一个日期格式如“2008/08/08”,将 输入的日期格式转换为“2008年-8月-8日

6.接收用户输入的字符串,将其中的字符进行排序(升序),并以逆序的顺序输出,“cabed”→"abcde"→“edcba”。

7.接收用户输入的一句英文,将其中的单词以反序输出,“hello c sharp”→“sharp c hello”。

8.从请求地址中提取出用户名和域名http://www.163.com?userName=admin&pwd=123456

9.如何判断一个字符串是否为另一个字符串的子串  find()    index() 双层循环完成??

10.如何随机生成无数字的全字母的字符串

11.如何随机生成带数字和字母的字符串

12.如何判定一个字符串中既有数字又有字母

13.字符串内的字符排序(只按字母序不论大小写

14.判断一个字符是否是回文字符串

15.随意输入你心中想到的一个书名,然后输出它的字符串长度

16.让用户输入一句话,找出所有"呵"的位置。

17..让用户输入一句话,找出所有"呵呵"的位置。

18..两个学员输入各自最喜欢的游戏名称,判断是否一致,如果相等,则输出你们俩喜欢相同的游戏;如果不相同,则输出你们俩喜欢不相同的游戏,两位同学输入 lol和 LOL代表同一游戏

19.让用户输入一句话,判断这句话中有没有邪恶,如果有邪恶就替换成这种形式然后输出,如:“老牛很邪恶”,输出后变成”老牛很**”;


1.找出10000以内能被5或6整除,但不能被两者同时整除的数

def func():
    for i in range(1, 10000):
        if i % 5 == 0 or i % 6 == 0:
            if i % 5 == 0 and i % 6 == 0:
                continue
        print(i)


func()

2.写一个方法,计算列表所有偶数下标元素的和

def sum_even(ls):
    sum_even = 0
    for i in range(0, len(ls), 2):
        sum_even += ls[i]
    return sum_even


if __name__ == '__main__':
    ls = [1, 2, 3, 4, 5, 6, 7, 8, 9]
    print(f'{ls}中所有偶数下标元素的和为:{sum_even(ls)}')

3.去掉字符串数组中每个字符串的空格

def cls_space(strings):
    for i in range(len(strings)):
        strings[i] = strings[i].replace(' ', '')
    return strings


if __name__ == '__main__':
    strings = input('请输入多个字符串:').split(',')
    print(f'您输入的字符串数组:{strings}')
    print(f'清除空格后的字符串数组:{cls_space(strings)}')

4.根据标点符号对字符串进行分行

def enter(fh, string):
    tmp = string.split(f'{fh}')
    for i in range(len(tmp)):
        print(tmp[i])


if __name__ == '__main__':
    string = input('请输入一段带有标点符号的字符串:')
    fh = input('请输入换行标志符号:')
    enter(fh, string)

5.让用户输入一个日期格式如“2008/08/08”,将 输入的日期格式转换为“2008年-8月-8日

def swich_date(one_date):

    tmp = one_date.split('/')
    print(f'{tmp[0]}年-{int(tmp[1])}月-{int(tmp[2])}日')


if __name__ == '__main__':
    one_date = input('请输入“年/月/日”格式的日期:')
    swich_date(one_date)

6.接收用户输入的字符串,将其中的字符进行排序(升序),并以逆序的顺序输出,“cabed”→"abcde"→“edcba”。

def sort_reverse(str):

    tmp = list(str)
    tmp.sort(reverse=True)
    str_1 = ''.join(tmp)
    return str_1


if __name__ == '__main__':
    str = input('请输入一个英文字符串:')
    print(f'您输入的字符串为:{str}')
    print(f'逆序排序后的字符串为:{sort_reverse(str)}')

7.接收用户输入的一句英文,将其中的单词以反序输出,“hello c sharp”→“sharp c hello”。

def sentence_reverse(sentence):
    tmp = sentence.split(' ')
    tmp.reverse()
    senrence = ' '.join(tmp)
    return senrence


if __name__ == '__main__':
    sentence = input('请输入一句英文:')
    print(f'逆序输出:{sentence_reverse(sentence)}')

8.从请求地址中提取出用户名和域名http://www.163.com?userName=admin&pwd=123456

url = 'http://www.163.com?userName=admin&pwd=123456'

ls = url.split('?')
domain = ls[0].split('/')[2]
ls_1 = ls[1].split('&')
username = ls_1[0].split('=')[1]
print(f'域名:{domain}')
print(f'域名:{username}')

9.如何判断一个字符串是否为另一个字符串的子串  find()    index() 双层循环完成??

str_a = input('请输入字符串a:')
str_b = input('请输入字符串b:')

# 使用find()方法:
flag = str_a.find(str_b)
if flag == -1:
    print('字符串b不是字符串a的子串')
else:
    print('字符串b是字符串a的子串')

# 使用index()方法:
try:
    flag = str_a.index(str_b)
except ValueError:
    print('字符串b不是字符串a的子串')
else:
    print('字符串b是字符串a的子串')

10.如何随机生成无数字的全字母的字符串

import random


def random_letter():
    ls = []
    str_max = int(input('请输入随机字符串长度的最大值:'))
    str_len = random.randint(1, str_max)
    for i in range(str_len):
        ls.append(chr(random.randint(ord('a'), ord('z'))))
    strs = ''.join(ls)
    return strs


if __name__ == '__main__':
    print(random_letter())

11.如何随机生成带数字和字母的字符串

import random


def random_letter():
    letter = chr(random.randint(ord('a'), ord('z')))
    return letter


def random_num09():
    num = random.randint(0, 9)
    return num


if __name__ == '__main__':
    ls = []
    str_max = int(input('请输入随机字符串长度的最大值:'))
    str_len = random.randint(1, str_max)
    for i in range(str_len):
        flag = random.randint(0, 1)
        if flag == 0:
            ls.append(str(random_num09()))
        else:
            ls.append(random_letter())
    strs = ''.join(ls)
    print(strs)

12.如何判定一个字符串中既有数字又有字母

def num_alpha(str):
    flag_num = 0
    flag_alpha = 0
    for i in str:
        if i.isdigit():
            flag_num = 1
            break
    for i in str:
        if i.isalpha():
            flag_alpha = 1
            break
    if flag_num == 1 and flag_alpha == 1:
        return True
    else:
        return False


if __name__ == '__main__':
    str = input('请输入一个字符串:')
    if num_alpha(str):
        print('该字符串中既有数字又有字母')
    else:
        print('该字符串不满足既有数字又有字母')

13.字符串内的字符排序(只按字母序不论大小写

def alp_sort(str):
    ls = list(str)
    ls_upper = []
    for i in range(len(str)):
        if ls[i].isalpha:
            if ls[i].isupper():
                ls_upper.append(ls[i])
                ls[i] = ls[i].lower()
    ls.sort()
    for i in ls_upper:
        flag = ls.index(i.lower())
        ls[flag] = ls[flag].upper()
    str = ''.join(ls)
    return str


if __name__ == '__main__':
    str = input('请输入一段字符串:')
    print(f'排序后的字符串:{alp_sort(str)}')

14.判断一个字符是否是回文字符串

def isHuiWen(str):
    ls_1 = list(str)
    ls_2 = list(str)
    ls_2.reverse()
    if ls_1 == ls_2:
        print('该函数是回文字符串')
    else:
        print('该函数不是回文字符串')


if __name__ == '__main__':
    str = input('请输入一个字符串:')
    isHuiWen(str)

15.随意输入你心中想到的一个书名,然后输出它的字符串长度

def length(book_name):
    l = len(book_name)
    print("你心中的书名长度是:", l)


length("活着")

16.让用户输入一句话,找出所有"呵"的位置。

def find_all(string, sub):
    start = 0
    pos = []
    while True:
        start = string.find(sub, start)
        if start == -1:
            return pos
        pos.append(start)
        start += len(sub)


print(find_all('今天真的呵呵呵呵呵呵呵呵呵呵', '呵'))

17..让用户输入一句话,找出所有"呵呵"的位置。

def find_all(string, sub):
    start = 0
    pos = []
    while True:
        start = string.find(sub, start)
        if start == -1:
            return pos
        pos.append(start)
        start += len(sub)


print(find_all('今天真的呵呵欧呵呵欧呵呵欧呵呵欧呵呵', '呵呵'))

18..两个学员输入各自最喜欢的游戏名称,判断是否一致,如果相等,则输出你们俩喜欢相同的游戏;如果不相同,则输出你们俩喜欢不相同的游戏,两位同学输入 lol和 LOL代表同一游戏

a = input('请输入甲同学喜欢的游戏:')
b = input('请输入乙同学喜欢的游戏:')
if a.lower() == b.lower():
    print('你们喜欢相同的游戏')
else:
    print('你们喜欢不同的游戏')

19.让用户输入一句话,判断这句话中有没有邪恶,如果有邪恶就替换成这种形式然后输出,如:“老牛很邪恶”,输出后变成”老牛很**”;

a = input("请输入一句话:")
for i in range(0, len(a)-1):
    if a[i] == "邪":
        if a[i+1] == '恶':
            a = a.replace("邪", "*")
            a = a.replace("恶", "*")
            break

print(a)

猜你喜欢

转载自blog.csdn.net/weixin_62304542/article/details/129992081
今日推荐