python练习第一组

最近又在学习python,刚刚学完,或者说复习完,变量和基础数据类型,所以让豆包出了一些练习题目,如下:

一、变量与赋值(5 题)

1.声明一个变量 age 并赋值为 25,再声明变量 name 赋值为自己的姓名(字符串类型),最后用 print() 同时输出这两个变量的值。

我的答案(正确):

python 复制代码
age =5
name = "abb"
print(name,age)

2.定义变量 a = 10b = 3,通过一次赋值操作交换 ab 的值(不使用临时变量)。

我的答案(错误):

python 复制代码
a = 10
b = 3
a , b = 3, 10

正确答案:

python 复制代码
a = 10
b = 3
a , b = b , a

错误分析:你的写法是直接重新赋值 a, b = 3, 10,本质是手动输入目标值,而非利用 Python 特有的 "变量解包" 实现交换。

3.已知 x = 5,执行 x += 3x *= 2 后,x 的值是多少?(仅需写出最终结果的推导逻辑,无需代码)

我的答案(正确):

python 复制代码
x = 5 
x += 3 #等价于x = x + 3 x = 5 +3 = 8 
x *= 2 #等价于x = x *2 x = 8 * 2 = 16

4.声明变量 price = 99.9(商品价格),discount = 0.8(折扣),计算折后价格并赋值给 final_price,最后打印 final_price

我的答案(正确):

python 复制代码
price = 99.9 
discount = 0.8 
final_price = price * discount 
print(final_price)

5.能否直接给变量 123num 赋值为 45?如果不能,说明原因(从变量命名规则角度)。

我的答案(错误):不能,数字不能做变量名

正确答案:Python 变量命名规则要求 "变量名必须以字母(a-z/A-Z)或下划线(_)开头,不能以数字开头"。

错误分析:23num 以数字 1 开头,违反命名规则,因此不能作为变量名(而非单纯 "数字不能做变量名"------ 数字可以出现在变量名中间或末尾,如 num123 是合法的)。

二、基础数据类型(整数、浮点数、布尔值)(5 题)

6.判断以下表达式的结果类型(填 "整数""浮点数" 或 "布尔值"):

a)10 + 3.5

b)20 // 4

c)15 % 4 == 3

d)3.0 * 5

我的答案(错误):a)浮点数、b)整数整数、d)浮点数

正确答案:c)是布尔值。

错误分析:% 是取余运算,15%4=3,所以表达式是 3==3,结果是 True,属于布尔值。

7.定义布尔变量 is_student = Truehas_id = False,计算 is_student and has_idis_student or has_id 的结果。

我的答案(正确):

python 复制代码
is_student and has_id = False
is_student or has_id = True

8.计算 8 / 28 // 2 的结果,说明两者的区别(从结果类型和运算逻辑角度)。

python 复制代码
8 / 2 = 4
8 // 2 =4

我的答案(错误):两者结果是一样的,//表示整除,不要余数

正确答案:结果部分:8/2=4.0(浮点数),8//2=4(整数)

错误分析:你写的 4 是数值相等,但数据类型不同(这是关键区别)。

9.已知 num = 7,执行 num = num + 2.3 后,num 的数据类型发生了什么变化?

我的答案(正确):从整数变为浮点数

10.写出一个表达式,判断整数 n(假设已定义)是否能同时被 2 和 3 整除(结果为布尔值)。

我的答案(错误):如果n/2和n/3的余数为0,n可以被2,3整除 代码不会写

正确答案:n % 2 == 0 and n % 3 == 0。

错误分析:用取余运算符 % 判断余数是否为 0,而非 /;``/ 是除法,会得到商,无法直接判断余数。

三、字符串(4 题)

11.定义字符串 s = "Python 基础学习",使用字符串索引获取第 3 个字符(注意:索引从 0 开始)。

我的答案(正确):

12.用字符串拼接和字符串格式化(任意一种格式化方式)两种方法,将变量 name = "小明"score = 95 组合成字符串 "小明的数学成绩是 95 分"。

我的答案(错误):

python 复制代码
name = "小明" 
point = 95 
print(f"{name}的数学成绩是{point}分") 

正确答案:"拼接" 方式

python 复制代码
print(name + "的数学成绩是" + str(point) + "分")#字符串拼接

错误分析:需完成 "字符串拼接" 和 "字符串格式化" 两种方法,缺少 "拼接" 方式的实现。

13.定义字符串 text = " Hello World! ",如何去除字符串前后的空格?写出对应的代码。

我的答案(正确):

python 复制代码
text = " Hello World! " 
print(text.strip())#去除字符串前后的空格

14.判断字符串 s1 = "apple"s2 = "Apple" 是否相等(用 == 运算),并说明原因。

我的答案(正确):不相等,因为区分大小写

python 复制代码
s1 = "apple" 
s2 = "Apple" 
print(s1==s2) #结果返回了False

四、复合数据类型(列表、元组、字典、集合)(6 题)

15.定义一个列表 fruits = ["苹果", "香蕉", "橙子"],完成以下操作:

a)向列表末尾添加元素 "葡萄";

b)替换列表中第 2 个元素(索引为 1)为 "芒果";

c)删除列表中的 "橙子" 元素。

我的答案(正确):

python 复制代码
fruits = ["苹果", "香蕉", "橙子"]
fruits.append("葡萄") #添加"葡萄"
fruits[1]="芒果" #显示索引1的内容
fruits.remove("橙子") #将"橙子"从列表中删除

16.定义元组 colors = ("红", "绿", "蓝"),尝试修改元组中第 1 个元素为 "黄",会出现什么结果?为什么?

我的答案(正确):修改会报错, 元组不支持修改

17.定义字典 student = {"name": "小红", "age": 16, "grade": "高一"},如何获取 "grade" 对应的 value?如何向字典中添加键值对 ("score", 88)

我的答案(错误):前两问回答正确,第三问回答有误。

python 复制代码
student = {"name": "小红", "age": 16, "grade": "高一"} 
print(student['grade'])#访问字典
print(student.get("grade"))#获取 "grade" 对应的 value 
student = {"name": "小红", "age": 16, "grade": "高一","score":88} #添加键值对 ("score", 88)

正确答案:

python 复制代码
student = {"name": "小红", "age": 16, "grade": "高一"} 
student["score"] = 88#添加键值对 ("score", 88)

错误解析:你重新定义了一个新字典 student = {"name": "小红", ..., "score":88},本质是 "覆盖原字典",而非 "向原字典添加键值对"(若原字典有更多复杂数据,会丢失原有内容)。

18.定义两个集合 set1 = {1, 2, 3, 4}set2 = {3, 4, 5, 6},计算两个集合的交集和并集(分别写出代码)。

我的答案(正确):交集{3,4},并集{1,2,3,4,5,6}

python 复制代码
set1 = {1, 2, 3, 4} 
set2 = {3, 4, 5, 6} 
print(set1 & set2) #交集,两个集合共有的元素
print(set1 | set2) #并集,两个集合所有元素,自动去重

15、 16、 17、18、 set1 = {1, 2, 3, 4} set2 = {3, 4, 5, 6} print(set1 & set2) print(set1 | set2) 19、 不会 20、 列表 元组 字典 集合

19.列表 nums = [1, 2, 2, 3, 3, 3],如何快速去除列表中的重复元素?(写出核心代码)

我的答案(错误):这题不会,没学到这个知识。

正确答案:利用集合不可重复的特性。

python 复制代码
nums = [1,2,2,3,3,3] 
nums = list(set(nums))#将列表转为集合再转回列表,通过集合去重

20.判断以下数据类型分别是什么:

a)[1, "a", True]

b)("Python", 3.9, 2024)

c){"city": "北京", "area": 16410}

d){5, 6, 7, 5}

我的答案(正确):a)列表b)元祖、c)字典、d)集合

相关推荐
BD_Marathon8 小时前
【JavaWeb】JS_JSON在客户端的使用
开发语言·javascript·json
还没想好取啥名8 小时前
C++11新特性(一)——原始字面量
开发语言·c++
谷粒.8 小时前
测试数据管理难题的7种破解方案
运维·开发语言·网络·人工智能·python
zzhongcy8 小时前
Java: HashMap 和 ConcurrentHashMap的区别
java·开发语言
寒山李白8 小时前
关于Python版本与supervisor版本的兼容性
windows·python·supervisord
梨落秋霜9 小时前
Python入门篇【基础语法】
开发语言·python
ada7_9 小时前
LeetCode(python)——543.二叉树的直径
数据结构·python·算法·leetcode·职场和发展
啊森要自信9 小时前
【STM32】USART串口通信
c语言·开发语言·stm32·单片机·嵌入式硬件
小白学大数据9 小时前
Python 多线程爬取社交媒体品牌反馈数据
开发语言·python·媒体