英泰移動(dòng)通信學(xué)校
029-8206-5071
咨詢熱線
教育引領(lǐng)未來
實(shí)時(shí)熱點(diǎn)

Python 面試題:循環(huán)判斷結(jié)果

發(fā)表時(shí)間:2025-06-13 13:40

在 Python 面試中,循環(huán)和判斷是基礎(chǔ)且重要的考點(diǎn)。以下是一些常見的循環(huán)判斷相關(guān)面試題及其解答:

2025422

1. 基礎(chǔ)循環(huán)判斷

問題: 編寫一個(gè)程序,判斷一個(gè)數(shù)字是否為質(zhì)數(shù)。

python
defis_prime(n):
if n <= 1:
returnFalse
for i inrange(2, int(n**0.5) + 1):
if n % i == 0:
returnFalse
returnTrue

# 測(cè)試
print(is_prime(7))   # True
print(is_prime(10)) # False

2. 循環(huán)中的 break 和 continue

問題: 解釋 break 和 continue 的區(qū)別,并舉例說明。

python
# break 示例 - 找到**個(gè)能被3和5整除的數(shù)后停止
for i inrange(1, 20):
if i % 3 == 0and i % 5 == 0:
print(f"找到**個(gè)能被3和5整除的數(shù): {i}")
break

# continue 示例 - 跳過所有偶數(shù)
for i inrange(10):
if i % 2 == 0:
continue
print(f"奇數(shù): {i}")

3. 循環(huán)與條件判斷結(jié)合

問題: 編寫一個(gè)程序,找出1-100之間所有的"完美數(shù)"(等于其真因子之和的數(shù))。

python
deffind_perfect_numbers():
    perfect_numbers = []
for num inrange(1, 101):
        sum_factors = 0
for i inrange(1, num):
if num % i == 0:
                sum_factors += i
if sum_factors == num:
            perfect_numbers.append(num)
return perfect_numbers

print(find_perfect_numbers())   # 輸出: [6, 28]

4. 循環(huán)中的 else 子句

問題: 解釋 Python 中 for-else 和 while-else 結(jié)構(gòu)的用途。

python
# for-else 示例
for i inrange(2, 5):
if5 % i == 0:
print(f"5 能被 {i} 整除")
break
else:
print("5 是質(zhì)數(shù)")

# while-else 示例
count = 0
while count < 3:
print(f"循環(huán)次數(shù): {count}")
    count += 1
else:
print("循環(huán)正常結(jié)束")

5. 列表推導(dǎo)式中的條件判斷

問題: 使用列表推導(dǎo)式生成1-20的平方數(shù),但排除能被3整除的數(shù)。

python
squares = [x**2for x inrange(1, 21) if x**2 % 3 != 0]
print(squares)

6. 循環(huán)優(yōu)化問題

問題: 如何優(yōu)化嵌套循環(huán)的性能?給出一個(gè)例子。

python
# 優(yōu)化前 - 檢查兩個(gè)列表是否有共同元素
list1 = [1, 2, 3, 4, 5]
list2 = [4, 5, 6, 7, 8]

found = False
for x in list1:
for y in list2:
if x == y:
            found = True
break# 優(yōu)化1: 找到后立即跳出內(nèi)層循環(huán)
if found:
break# 優(yōu)化2: 找到后立即跳出外層循環(huán)

# 優(yōu)化后 - 使用集合提高查找效率
set2 = set(list2)
found = any(x in set2 for x in list1)
print(found)   # True

7. 生成器與循環(huán)

問題: 編寫一個(gè)生成器函數(shù),生成無限斐波那契數(shù)列,并在滿足某個(gè)條件時(shí)停止。

python
deffibonacci(max_value=None):
    a, b = 0, 1
whileTrue:
yield a
        a, b = b, a + b
if max_value isnotNoneand a > max_value:
break

# 使用示例
fib = fibonacci(100)
for num in fib:
print(num, end=" ")   # 輸出: 0 1 1 2 3 5 8 13 21 34 55 89

這些題目涵蓋了 Python 循環(huán)和判斷的主要考點(diǎn),包括基本語法、性能優(yōu)化、特殊結(jié)構(gòu)使用等。在實(shí)際面試中,可能還會(huì)涉及更復(fù)雜的問題,如多線程循環(huán)、異步循環(huán)等高級(jí)主題。


分享到: