(1)以下哪个是合法的 Python 变量名?
A. 2var
B. _var
C. var@1
D. var-1
答案:B
(2)表达式 True + 2
的结果是?
A. True
B. 3
C. 2
D. TypeError
答案:B
(3)以下哪个表达式会引发错误?
A. "1" + "2"
B. [1, 2] + [3, 4]
C. (1, 2) + (3, 4)
D. {1, 2} + {3, 4}
答案:D
(4)以下哪个是将字符串转换为整数的正确方法?
A. str(5)
B. int("5")
C. float("5")
D. bool("5")
答案:B
(5)执行 print("Hello", "World", sep='-', end='!')
后,输出结果是?
A. Hello World
B. Hello-World
C. Hello-World!
D. Hello World!
答案:C
(6)以下哪个运算符用于判断两个对象是否是同一个对象(内存地址相同)?
A. ==
B. !=
C. is
D. in
答案:C
(7)执行 print(f"The result is {2 + 3}")
,输出结果是?
A. The result is {2 + 3}
B. The result is 5
C. The result is 2 + 3
D. 语法错误
答案:B
(8)以下代码的输出结果是?
x = 5
if x > 3:
print("A")
elif x > 4:
print("B")
else:
print("C")
A. A
B. B
C. C
D. 无输出
答案:A
(9)以下代码是否存在错误?
A = 10
if A > 5:
print("Big")
elif A < 5:
print("Small")
else
print("Medium")
A. 无错误
B. 缩进错误
C. else
后缺少冒号
D. elif
条件错误
答案:C
(10)以下代码的输出结果是?
x = 0
if x:
print("True")
else:
print("False")
A. True
B. False
C. 语法错误
D. 无输出
答案:B
(11)以下代码的输出结果是?
A = 10
B = 20
if A > 5 and B < 15:
print("条件1")
elif A > 8 or B > 18:
print("条件2")
else:
print("条件3")
A. 条件1
B. 条件2
C. 条件3
D. 无输出
答案:B
(12)以下代码的输出结果是?
A = 5
B = 10
if A > 3 or B / 0 > 0:
print("A")
else:
print("B")
A. A
B. B
C. 语法错误
D. 运行时错误
答案:A
(1)什么是 Python 的动态类型特性?举例说明。
答: Python 是动态类型语言,变量类型在运行时自动确定,无需预先声明
(2)如何将字符串 "123" 转换为整数?如果字符串为 "12a3" 会发生什么?
答: 使用 int("123")
转换为整数。若字符串包含非数字字符(如 "12a3"),会引发 ValueError
。
(3)比较 Python 中的动态类型与静态类型语言(如 Java)的优缺点。
答:
动态类型(Python):灵活、开发效率高,但运行时可能出现类型错误。
静态类型(Java):编译时检查类型,代码更健壮,但需显式声明类型,编写更繁琐。
(4)简述 input () 函数和 eval () 函数的区别,并举例说明它们的应用场景。
答:
input()
:获取用户输入的字符串,如 name = input("请输入姓名:")
。eval()
:执行字符串中的 Python 表达式,如 result = eval("2 + 3")
返回 5,存在安全风险。(5)比较 == 运算符和 is 运算符的区别,并举例说明在什么情况下结果会不同。
答:
==
:比较值是否相等。is
:比较对象是否为同一内存地址。a = [1, 2]
b = [1, 2]
print(a == b) # True(值相等)
print(a is b) # False(不同对象)
(6)逻辑运算符 and、or、not 的运算规则是什么?请分别举例说明。
答:
and
:两边均为真时返回真,如 True and False
返回 False,
。or
:两边任一为真时返回真,如 True or False
返回 True
。not
:取反,如 not True
返回 False
。(7)当使用 input () 函数获取用户输入的数字时,如何将其转换为整数类型?如果用户输入的不是数字,会发生什么?
答: 使用 int(input())
转换。若输入非数字(如字母),会引发 ValueError
。
(8)阅读以下代码,解释输出结果并说明原因。
x = 5
if x > 3:
print("X 大于3")
if x > 4:
print("X 大于4")
if x > 5:
print("X 大于5")
答: 输出:
X 大于3
X 大于4
原因:x = 5
满足前两个条件(5 > 3 和 5 > 4),但不满足第三个条件(5 > 5 为假)。
(9)编写代码,计算三角形的三个角
题目描述
输入三角形的三个顶点坐标,并计算该三角形的三个角分别是多少(角度制)
A=acos((a∗a−b∗b−c∗c)/(−2∗b∗c))
B=acos((b∗b−a∗a−c∗c)/(−2∗a∗c))
C=acos((c∗c−b∗b−a∗a)/(−2∗a∗b))
其中a、b、c分别表示三条边,A、B、C分别表示三边对应的角
输入输出描述
输入六个数据,分别表示三角形三个顶点的坐标x1、y1、x2、y2、x3和y3,数据之间用空格分隔
输出三行,分别为A、B、C三个角的度数,结果保留两位小数
示例
输入:
1 1 6.5 1 6.5 2.5
输出:
15.26
90.00
74.74
import math
x1, y1, x2, y2, x3, y3 = map(float, input().split())
# 计算三边长度
a = math.hypot(x2 - x3, y2 - y3)
b = math.hypot(x1 - x3, y1 - y3)
c = math.hypot(x1 - x2, y1 - y2)
# 计算角度(弧度转角度公式)
A = math.degrees(math.acos((b**2 + c**2 - a**2) / (2 * b * c)))
B = math.degrees(math.acos((a**2 + c**2 - b**2) / (2 * a * c)))
C = math.degrees(math.acos((a**2 + b**2 - c**2) / (2 * a * b)))
# 输出结果(保留两位小数)
print("{0:.2f}".format(A))
print("{0:.2f}".format(B))
print("{0:.2f}".format(C))
注意:
计算三边长度的hypot底层逻辑
a = math.sqrt((x2 - x3) **2 + (y2 - y3)** 2)
b = math.sqrt((x1 - x3)** 2 + (y1 - y3)** 2)
c = math.sqrt((x1 - x2)** 2 + (y1 - y2)** 2)
sqrt是开方,也可以**0.5
(10)编写代码,解 2×2 线性方程组
题目描述
如有一个2×2的线程方程组:
ax+by=e
cx+dy=f
你可以使用克莱姆法则解该线性方程:
x=ed−bf/ad−bc,
y=af−ec/ad−bc
其中 ad−bc 为判别式,如果为零则输出无解
输入输出描述
输入a、b、c、d、e、f六个数据,数据之间用空格分隔
输出两行,第一行x的解,第二行y的解,保留一位小数
示例1
输入:
9.0 4.0 3.0 -5.0 -6.0 -21.0
输出:
-2.0
3.0
示例2
输入:
1.0 2.0 2.0 4.0 4.0 5.0
输出:
无解
a, b, c, d, e, f = map(float, input().split())
# 计算判别式
judge = a * d - b * c
if judge == 0:
print("无解")
else:
x = (e * d - b * f) / judge
y = (a * f - e * c) / judge
print("{0:.1f}".format(x))
print("{0:.1f}".format(y))