实验一 Python基础编程
只为给原因学习编程的同学提供一个思路,让编程更简单!!!
本博主擅长整理粉丝的私信!只要你有需求就可以告诉博主!博主可以帮你解决并发表!
一、实验学时
2学时
二、实验目的
1. 掌握 Python 语言的基本语法、数据结构和控制结构;
2. 掌握函数式编程的基础知识,能够熟练运用函数的相关操作
三、实验环境
Python等
四、实验内容
1.解方程
编写程序,求解一元二次方程 x 2-10x+16=0。
参考代码:
import sympy as sp
# 定义符号变量
x = sp.Symbol('x')
# 定义方程
eq = x ** 2 - 10 * x + 16
# 求解方程
y = sp.solve(eq, x)
# 输出结果
print(y)
2.猜食材
采用的思路就是分支结构的应用,关键是分情况。
使用 if-elif-else 语句实现一个猜食材的程序。程序将询问匿名食材 A、B、C、D 和 E 的味道及颜色,猜出该食材是柠檬(sour,yellow)、米醋(sour,colourless)、白糖 (sweet,white)、黑巧克力(bitter,black)、苦瓜(bitter,green)还是青椒(spicy,green)
参考代码:
# 定义食材列表
foods = ['A', 'B', 'C', 'D', 'E']
# 定义猜测函数
def guess_food(food):
if food == 'A':
return 'sour, yellow'
elif food == 'B':
return 'sour, colourless'
elif food == 'C':
return 'sweet, white'
elif food == 'D':
return 'bitter, black'
elif food == 'E':
return 'bitter, green'
else:
return 'Unknown'
# 猜测食材
for food in foods:
guess = guess_food(food)
print(guess)
3. 组三位数
使用 for 语句编写程序,四个数字:1、2、3、4,求能组成多少个互不相同且无重复数
字的三位数,并输出组成的三位数。(可填在百位、十位、个位的数字都是 1、2、3、4;
组成所有的排列后再去掉不满足条件的排列)
count = 0 # 计数器,记录符合条件的三位数的个数
for i in range(1, 5): # 百位数从 1 到 4 循环
for j in range(1, 5): # 十位数从 1 到 4 循环
for k in range(1, 5): # 个位数从 1 到 4 循环
if (i != j) and (j != k) and (i != k): # 如果三个数字互不相同
count += 1 # 数量加一
print(i*100+j*10+k) # 输出这个符合条件的三位数
print("共有", count, "个符合条件的三位数")
4. 猴子吃桃
采用逆向思维的方式进行思考。
猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩 下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第 10 天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。(采取逆向思维的方法, 从后往前推断。
peach = 1 # 第10天早上剩下的桃子数
for i in range(9): # 从倒数第二天向前推导
peach = (peach + 1) * 2
print('第一天摘了', peach, '个桃子')
5.删除重复
编写程序,删除一个 list 里面的重复元素。
参考代码:
my_list = [1, 2, 3, 4, 4, 5, 1, 6, 7, 7]
# 创建一个空列表来存储不重复的元素
new_list = []
# 循环遍历原始列表中的每个元素
for element in my_list:
# 如果该元素未出现在新列表中,将其添加到新列表中
if element not in new_list:
new_list.append(element)
print(new_list)
6.函数值判断
使用 def 语句和 lambda 语句分别创建一个函数,该函数的功能是判断 3 5是否与 12 2-1 相等,并输出判断结论。
compare = lambda: print("3*5 equals 12 or 3-5 equals -1") \
if 3*5 == 12 or 3-5 == -1 else print("3*5 does not equal 12 and 3-5 does not equal -1")
compare()
7. 最值及长度
编写程序,利用元组作为函数的返回值,求序列类型中的最大值、最小值及元素个数, 并 编 写 测 试 代 码 。 假 设 测 试 数 据 分 别 为 [9,7,8,3,2,1,55,6] 、 ["apple","pear","melon","kiwi"]和"TheQuickBrownFox"。
def seq_analysis(seq):
maximum = max(seq)
minimum = min(seq)
count = len(seq)
return (maximum, minimum, count)
# 测试
data1 = [9,7,8,3,2,1,55,6]
data2 = ["apple","pear","melon","kiwi"]
data3 = "TheQuickBrownFox"
result1 = seq_analysis(data1)
result2 = seq_analysis(data2)
result3 = seq_analysis(data3)
print(result1) # 输出:(55, 1, 8)
print(result2) # 输出:('pear', 'apple', 4)
print(result3) # 输出:('u', 'B', 17)
五、概念补充
5.1sympy库
SymPy是一个符号计算的Python库,它的目标是成为一个全功能的计算机代数系统,同时保持代码简洁、易于理解和扩展。它完全由Python写成,不依赖于外部库。SymPy支持符号计算、高精度计算、模式匹配、绘图、解方程、微积分、组合数学、离散数学、几何学、概率与统计、物理学等方面的功能。
solve是用来解方程的。
5.2完整代码
下载地址:
https://download.csdn.net/download/weixin_41957626/87779809
整理不易,点个赞再走吧。