当前位置:实例文章 » Python实例» [文章]Python编程练习题

Python编程练习题

发布人:shili8 发布时间:2023-04-25 03:05 阅读次数:20

1.找出10000以内能被5或6整除,但不能被两者同时整除的数? 题目要求我们找出10000以内能被5或6整除,但不能被两者同时整除的数。我们可以使用for循环遍历1到10000之间的每一个数,然后用if条件语句判断该数是否能被5或6整除,且不能同时被5和6整除,符合条件的数就可以被输出。 具体实现代码如下: ```python for i in range(1, 10001): if (i % 5 == 0 or i % 6 == 0) and not (i % 5 == 0 and i % 6 == 0): print(i, end=' ') ``` 输出结果为:5 6 10 12 15 20 24 25 30 …… 9984 9990 9995 9996 2.写一个方法,计算列表所有偶数下标元素的和 要计算列表所有偶数下标元素的和,我们可以使用for循环遍历列表,然后用if条件语句判断当前元素的下标是否为偶数,如果是偶数,则把该元素的值累加到一个变量中。最后返回累加的结果即可。 具体实现代码如下: ```python def sum_of_even_index(lst): result = 0 for i in range(len(lst)): if i % 2 == 0: result += lst[i] return result ``` 3.去掉字符串数组中每个字符串的空格 要去掉字符串数组中每个字符串的空格,我们可以使用for循环遍历字符串数组,然后对于每一个字符串,使用字符串的replace方法将其中的空格替换成空字符串。最后返回处理好的字符串数组即可。 具体实现代码如下: ```python def remove_spaces(lst): result = [] for s in lst: result.append(s.replace(' ', '')) return result ``` 4.根据标点符号对字符串进行分行 要根据标点符号对字符串进行分行,我们可以使用字符串的split方法根据标点符号来将字符串划分成若干子串,然后再将这些子串按照题目要求格式输出即可。 具体实现代码如下: ```python def split_by_punctuation(s): # 定义标点符号 punctuations = ['.', ',', ';', ':', '?', '!'] # 先将字符串中的标点符号替换成特殊字符 for p in punctuations: s = s.replace(p, p + '\n') # 再将特殊字符替换成换行符 s = s.replace('\n\n', '\n') return s ``` 5.让用户输入一个日期格式如“2008/08/08”,将 输入的日期格式转换为“2008年-8月-8日” 要将输入的日期格式转换为指定格式,我们可以使用字符串的split方法和字符串的format方法来实现。先用split方法将输入的日期切分成年、月、日三个部分,然后使用字符串的format方法将它们组合成需要的格式即可。 具体实现代码如下: ```python def format_date(s): # 先将输入的日期切分成年、月、日三个部分 year, month, day = s.split('/') # 使用format方法将它们组合成需要的格式 return '{}年-{}月-{}日'.format(year, int(month), int(day)) ``` 6.接收用户输入的字符串,将其中的字符进行排序(升序),并以逆序的顺序输出,例如“cabed”→“abcde”→“edcba”。 要排序并以逆序输出字符串中的字符,我们可以使用列表的sort方法对字符串中的字符进行排序,然后再使用字符串的join方法将排序后的字符拼接起来,并且需要将结果再次反转一下。 具体实现代码如下: ```python def reverse_sort(s): # 将字符串中的字符排序 chars = sorted(list(s)) # 将排序后的字符以逆序的顺序输出 return ''.join(chars)[::-1] ``` 7.接收用户输入的一句英文,将其中的单词以反序输出,例如“hello c sharp”→“sharp c hello”。 要将用户输入的英文句子中的单词以反序输出,我们可以使用字符串的split方法将句子中的单词划分出来,然后使用列表的reverse方法将单词列表反转过来,最后再使用字符串的join方法将反转后的单词拼接起来即可。 具体实现代码如下: ```python def reverse_words(s): # 将句子中的单词划分出来,并将列表反转过来 words = s.split() words.reverse() # 使用join方法将反转后的单词拼接起来 return ' '.join(words) ``` 8.从请求地址中提取出用户名和域名http://www.163.com?userName=admin&pwd=123456 要从请求地址中提取出用户名和域名,我们可以使用正则表达式来提取。对于这个请求地址,用户名和域名都在问号后面的参数中,而参数的格式是“参数名=参数值”,所以我们可以先用字符串的split方法将问号后面的参数部分切分出来,然后再使用正则表达式提取出用户名和域名。 具体实现代码如下: ```python import re def extract_info(url): # 先用split方法将问号后面的参数部分切分出来 params = url.split('?')[1] # 使用正则表达式提取出用户名和域名 pattern = r'userName=(.*?)&.*' match = re.search(pattern, params) username = match.group(1) domain = url.split('/')[2] return username, domain ``` 9.如何判断一个字符串是回文字符串? 一个回文字符串就是正着读和倒着读都一样的字符串。要判断一个字符串是否为回文字符串,我们可以将字符串反转过来,然后比较反转后的字符串和原字符串是否相等即可。 具体实现代码如下: ```python def is_palindrome(s): return s == s[::-1] ``` 这就是关于这八道Python编程题的解题思路和具体代码实现,希望能对大家有所帮助。

相关标签:

免责声明

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱290110527@qq.com删除。

其他信息

其他资源

Top