python入门实战经典15题

        每个题目都提供了对应的输入输出说明,以及代码示例和简单的注释,旨在帮助大家理解每个练习的意义和解决方案。

目录

计算数字之和

代码示例

交换变量

代码示例

检查奇偶性

代码示例

子串的最大长度

代码示例

计算列表平均值

代码示例

检查回文字符串

代码示例

最大数查找

代码示例

计算阶乘

代码示例

字符串逆转

代码示例

列表排序

代码示例

检查素数

代码示例

找出列表中重复的元素

代码示例

合并两个有序列表

代码示例

字母频率统计

代码示例

旋转图像

代码示例


计算数字之和

编写一个程序来计算1到10的总和。

输入: 无

输出: 1到10的和

代码示例

total = sum(range(1, 11))
print("Sum of 1 to 10 is:", total)
# sum()函数计算1到10的总和并打印结果。

交换变量

编写一个程序来交换两个变量的值。

输入: 两个变量a和b

输出: 交换后的变量a和b

代码示例

a, b = 5, 10
a, b = b, a
print("a:", a, "b:", b)

检查奇偶性

编写一个程序来检查输入的数字是奇数还是偶数。

输入: 一个整数

输出: "奇数"或"偶数"

代码示例

num = int(input("Enter a number: "))
if num % 2 == 0:print(num, "is even.")
else:print(num, "is odd.")

子串的最大长度

给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。

输入: 一个字符串

输出: 最长子串的长度

代码示例

def length_of_longest_substring(s):"""找出不含重复字符的最长子串的长度"""char_index = {}start = 0max_length = 0for i, char in enumerate(s):if char in char_index and start <= char_index[char]:start = char_index[char] + 1else:max_length = max(max_length, i - start + 1)char_index[char] = ireturn max_lengths = "abcabcbb"
print("最长子串的长度:", length_of_longest_substring(s))

计算列表平均值

编写一个程序来计算给定列表中数字的平均值。

输入: 一个数字列表

输出: 列表的平均值

代码示例

numbers = [2, 3, 5, 7, 11, 13, 17, 19]
average = sum(numbers) / len(numbers)
print("The average is:", average)

检查回文字符串

编写一个程序来检查输入的字符串是否为回文。

输入: 一个字符串

输出: "是回文"或"不是回文"

代码示例

text = input("Enter a string: ")
if text == text[::-1]:print(text, "yes")
else:print(text, "no")

最大数查找

编写一个程序来找出并打印列表中的最大数字。

输入: 一个数字列表

输出: 列表中的最大数字

代码示例

numbers = [3, 6, 2, 8, 4, 10, 15, 1]
max_number = max(numbers)
print("The largest number is:", max_number)

计算阶乘

编写一个函数来计算并返回一个数字的阶乘。

输入: 一个整数n

输出: n的阶乘

代码示例

def factorial(n):if n == 0:return 1else:return n * factorial(n-1)
n = 5
print("Factorial of", n, "is:", factorial(n))

字符串逆转

创建一个函数,接收一个字符串并返回其反转后的字符串。

输入: 一个字符串

输出: 反转后的字符串

代码示例

def reverse_string(s):return s[::-1]
s = "Hello World"
print("Reversed string:", reverse_string(s))

列表排序

编写一个程序,使用冒泡排序算法对列表进行排序。

输入: 一个数字列表

输出: 排序后的列表

代码示例

def bubble_sort(lst):n = len(lst)for i in range(n-1):for j in range(0, n-i-1):if lst[j] > lst[j+1]:lst[j], lst[j+1] = lst[j+1], lst[j]return lstnumbers = [64, 34, 25, 12, 22, 11, 90]
print("Sorted list:", bubble_sort(numbers))

检查素数

编写一个函数来检查给定的数字是否为素数。

输入: 一个整数n

输出: 如果n是素数则输出"是素数",否则输出"不是素数"

代码示例

def is_prime(n):"""检查数字是否为素数"""if n <= 1:return Falsefor i in range(2, int(n**0.5) + 1):if n % i == 0:return Falsereturn Truen = 29
print(n, "是素数" if is_prime(n) else "不是素数")

找出列表中重复的元素

给定一个包含整数的列表,找出所有重复的元素。

输入: 一个整数列表

输出: 一个包含重复元素的列表

代码示例

def find_duplicates(lst):"""找出列表中的重复元素"""seen = set()duplicates = set()for num in lst:if num in seen:duplicates.add(num)else:seen.add(num)return list(duplicates)numbers = [1, 2, 3, 2, 1, 5, 6, 5, 5, 5]
print("重复的元素:", find_duplicates(numbers))

合并两个有序列表

编写一个函数来合并两个有序列表,并返回一个新的有序列表。

输入: 两个有序整数列表

输出: 一个新的有序整数列表,包含两个输入列表中的所有元素

代码示例

def merge_sorted_lists(lst1, lst2):"""合并两个有序列表"""i, j = 0, 0merged = []while i < len(lst1) and j < len(lst2):if lst1[i] < lst2[j]:merged.append(lst1[i])i += 1else:merged.append(lst2[j])j += 1# 添加剩余的元素merged.extend(lst1[i:])merged.extend(lst2[j:])return mergedlist1 = [1, 3, 5]
list2 = [2, 4, 6]
print("合并后的列表:", merge_sorted_lists(list1, list2))

字母频率统计

编写一个函数来计算并返回给定字符串中每个字母的频率。

输入: 一个字符串

输出: 一个字典,键为字母,值为对应的频率

代码示例

from collections import defaultdictdef letter_frequency(text):"""计算字符串中每个字母的频率"""frequency = defaultdict(int)for letter in text:if letter.isalpha():frequency[letter.lower()] += 1return dict(frequency)text = "Hello World"
print("字母频率:", letter_frequency(text))

旋转图像

给定一个n × n的二维矩阵,代表一个图像。将图像顺时针旋转90度。

输入: 一个n × n的二维矩阵

输出: 旋转后的n × n的二维矩阵

代码示例

def rotate_image(matrix):"""顺时针旋转图像90度"""n = len(matrix)for i in range(n // 2):for j in range(i, n - 1 - i):temp = matrix[i][j]matrix[i][j] = matrix[n - 1 - j][i]matrix[n - 1 - j][i] = matrix[n - 1 - i][n - 1 - j]matrix[n - 1 - i][n - 1 - j] = matrix[j][n - 1 - i]matrix[j][n - 1 - i] = tempreturn matrixmatrix = [[1, 2, 3],[4, 5, 6],[7, 8, 9]
]
print("旋转后的图像:", rotate_image(matrix))

结语

        这些题目覆盖了多种编程概念,包括循环、条件语句、函数、递归、列表处理、字符串操作、算法思想等。通过实践这些练习,不仅会加深对Python语法的理解,还会学会如何结构化地思考和解决问题。

----------------------

看到这了 点个赞再走吧~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/438172.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

REVERSE-PRACTICE-BUUCTF-10

REVERSE-PRACTICE-BUUCTF-10[GWCTF 2019]xxor[HDCTF2019]Maze[WUSTCTF2020]level2[BJDCTF2020]BJD hamburger competition[GWCTF 2019]xxor elf文件&#xff0c;无壳&#xff0c;用ida分析 main函数的逻辑清晰&#xff0c;首先获取输入&#xff0c;为6个int64的值&#xff0c;…

Axure教程 axure新手入门基础(1)

axure新手入门基础(1) 名词解释&#xff1a; 线框图&#xff1a;一般就是指产品原型&#xff0c;比如&#xff1a;把线框图尽快画出来和把原型尽快做出来是一个意思。 axure元件&#xff1a;也叫axure组件或axure部件&#xff0c;系统自带了一部分最基础常用的&#xff0c;网上…

REVERSE-PRACTICE-BUUCTF-11

REVERSE-PRACTICE-BUUCTF-11[FlareOn4]IgniteMe[MRCTF2020]Xor[GKCTF2020]BabyDriver[MRCTF2020]hello_world_go[FlareOn4]IgniteMe exe程序&#xff0c;运行后提示输入flag&#xff0c;无壳&#xff0c;ida分析 主逻辑在start函数中&#xff0c;读取输入后check&#xff0c;验…

Axure教程 axure新手入门基础(2) 简单易上手

https://www.duote.com/tech/35/102713.html (二)Axure rp的线框图元件 l 图片 图片元件拖入编辑区后&#xff0c;可以通过双击选择本地磁盘中的图片&#xff0c;将图片载入到编辑区&#xff0c;axure会自动提示将大图片进行优化&#xff0c;以避免原型文件过大;选择图片时可以…

REVERSE-PRACTICE-BUUCTF-12

REVERSE-PRACTICE-BUUCTF-12[WUSTCTF2020]level3crackMe[FlareOn6]Overlong[WUSTCTF2020]Cr0ssfun[WUSTCTF2020]level3 elf文件&#xff0c;无壳&#xff0c;ida分析 main函数中&#xff0c;获取输入&#xff0c;对输入做base64编码&#xff0c;提示有错误&#xff0c;在程序中…

Axure RP使用基础教程

一、Axure界面介绍 1、页面导航面板&#xff08;Pages&#xff09; Axure的页面管理采用类似操作系统的文件夹和页面文件的管理方式&#xff0c;不同点是&#xff0c;页面文件可以存在子页面&#xff0c;这一点是考虑了页面与页面跳转或者嵌套页面等网页特点。 页面文件管理导…

REVERSE-PRACTICE-BUUCTF-13

REVERSE-PRACTICE-BUUCTF-13firmware[ACTF新生赛2020]Oruga[Zer0pts2020]easy strcmp[GXYCTF2019]simple CPPfirmware .bin&#xff08;二进制&#xff09;文件&#xff0c;由题目提示知是路由器固件逆向 参考&#xff1a;逆向路由器固件之解包 Part1 linux安装好binwalk和fir…

在 VS 类库项目中 Add Service References 和 Add Web References 的区别

问题的引出&#xff1a; 1.在vs2005时代&#xff0c;Add Web Reference&#xff08;添加Web服务引用&#xff09;的功能主要是添加Web Service引用。基于.NET Framework 2.0。 2.自VS2008以后&#xff0c;为了对.NET Framework 3.0 或 3.5版本上WCF Service Library的支持。增…

REVERSE-PRACTICE-BUUCTF-14

REVERSE-PRACTICE-BUUCTF-14[FlareOn3]Challenge1[GUET-CTF2019]number_game[GWCTF 2019]re3[网鼎杯 2020 青龙组]singal[FlareOn3]Challenge1 exe程序&#xff0c;运行后提示输入密码&#xff0c;输入错误退出程序&#xff0c;无壳&#xff0c;ida分析 main函数逻辑清晰&…

REVERSE-PRACTICE-BUUCTF-15

REVERSE-PRACTICE-BUUCTF-15[2019红帽杯]xx[ACTF新生赛2020]Universe_final_answer[WUSTCTF2020]level4findKey[2019红帽杯]xx exe程序&#xff0c;运行后直接输入&#xff0c;无壳&#xff0c;ida分析 交叉引用字符串“You win&#xff01;”来到sub_1400011A0函数 主要的逻辑…

【三层架构】——COM/DCOM初识

背景&#xff1a; 在学习三层架构的时候&#xff0c;知道三层分为UI层&#xff08;表现层&#xff09;、BLL层&#xff08;业务逻辑层&#xff09;、DAL层&#xff08;数据访问层&#xff09;&#xff0c;相对于传统的二层架构&#xff08;客户端和数据库&#xff09;来说&…

REVERSE-PRACTICE-BUUCTF-16

REVERSE-PRACTICE-BUUCTF-16[UTCTF2020]basic-reequation[安洵杯 2019]crackMe[FlareOn5]Minesweeper Championship Registration[UTCTF2020]basic-re elf文件&#xff0c;无壳&#xff0c;用ida分析 main函数就是简单的加减乘除运算 shiftF12&#xff0c;在字符串窗口看到fla…

IPC之命名管道

1.管道是通过IO接口存取得字节流&#xff0c; windows中利用得是ReadFile()和WriteFile(),windows利用单一句柄支持双向IO,命名管道也称做FIFO(first in first out) 命名管道得机制&#xff1a;一个进程把数据放到管道里&#xff0c;另一个知道管道名字得进程把数据把取走&…

REVERSE-PRACTICE-BUUCTF-17

REVERSE-PRACTICE-BUUCTF-17[网鼎杯 2020 青龙组]jocker[2019红帽杯]childRE[MRCTF2020]PixelShooter[ACTF新生赛2020]SoulLike[网鼎杯 2020 青龙组]jocker exe程序&#xff0c;运行后提示输入flag&#xff0c;无壳&#xff0c;用ida分析 main函数平衡栈后&#xff0c;F5反汇编…

Excluding Files From Team Foundation Version Control Using .tfignore Files

At one point I was coding on a hobby project, using Visual Studio Online for project management and source control. Because of the technologies involved, a large number of temporary files were being generated that I didn’t want checked in. Visual Studio’…

REVERSE-PRACTICE-BUUCTF-18

REVERSE-PRACTICE-BUUCTF-18[SWPU2019]ReverseMe[FlareOn1]Bob Doge[FlareOn5]Ultimate Minesweeper[GKCTF2020]Chellys identity[SWPU2019]ReverseMe exe程序&#xff0c;运行后提示输入flag&#xff0c;输入错误打印“Try again”&#xff0c;无壳&#xff0c;ida分析 交叉引…

VS2008中Web Reference和Service Reference的区别

很早就发现在vs2008中应用web service有两种方式&#xff0c;即Add Web Reference和Add Service Reference&#xff0c;但是一直不是很清楚这两者有什么区别。趁着今天有空实验一下这两者的区别并记录下来供大家参考。 首先在网上查找&#xff0c;发现有如下两个主要区别&#…

REVERSE-PRACTICE-BUUCTF-19

REVERSE-PRACTICE-BUUCTF-19[RoarCTF2019]polyre[安洵杯 2019]game[SCTF2019]Strange apk[CFI-CTF 2018]IntroToPE[RoarCTF2019]polyre elf文件&#xff0c;无壳&#xff0c;用ida分析 main函数的结构&#xff0c;多重循环&#xff0c;是控制流平坦化&#xff0c;参考&#xf…

REVERSE-PRACTICE-BUUCTF-20

REVERSE-PRACTICE-BUUCTF-20[SCTF2019]creakme[网鼎杯 2020 青龙组]bang[WUSTCTF2020]funnyreDig the way[SCTF2019]creakme exe程序&#xff0c;运行后提示输入ticket&#xff0c;无壳&#xff0c;用ida分析 交叉引用字符串“please input your ticket:”来到sub_402540函数 …

Web Reference和Service Reference的区别

今天因为项目需要使用服务引用&#xff0c;就按之前的经验添加上了&#xff0c;步骤如下&#xff1a; 项目根目录——引用——右键——添加服务引用——高级——添加Web引用——输入接口的URL地址——回车&#xff08;下方出现的就是接口的定义的方法&#xff09;——修改Web引…