python学习试题(选择,问答,代码等)

python选择题

(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))

 

你可能感兴趣的:(python,学习,开发语言)