> 文章列表 > Python编程练习题

Python编程练习题

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:continueprint(i)func()

 

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

def sum_even(ls):sum_even = 0for i in range(0, len(ls), 2):sum_even += ls[i]return sum_evenif __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 stringsif __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_1if __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 senrenceif __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 randomdef 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 strsif __name__ == '__main__':print(random_letter())

 

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

import randomdef random_letter():letter = chr(random.randint(ord('a'), ord('z')))return letterdef random_num09():num = random.randint(0, 9)return numif __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 = 0flag_alpha = 0for i in str:if i.isdigit():flag_num = 1breakfor i in str:if i.isalpha():flag_alpha = 1breakif flag_num == 1 and flag_alpha == 1:return Trueelse:return Falseif __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 strif __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 = 0pos = []while True:start = string.find(sub, start)if start == -1:return pospos.append(start)start += len(sub)print(find_all('今天真的呵呵呵呵呵呵呵呵呵呵', '呵'))

 

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

def find_all(string, sub):start = 0pos = []while True:start = string.find(sub, start)if start == -1:return pospos.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("恶", "*")breakprint(a)