Python 面试问题:选择结构和循环结构

关于选择和循环的 Python 面试问题

控制语句用于控制程序执行的流程。它们有助于在特定条件下决定下一步执行,还允许重复程序一定次数。两种类型的控制语句如下:

  1. 选择结构
if condition:
    to do statement

如果条件的计算结果为 True,则 if 语句下的代码将被执行。

if condition:
    to do statement1 
else:
    to do statement2

如果条件的计算结果为 True,则 if 语句下的代码将被执行;否则,如果条件不成立,则执行 else 语句下面的代码。

if condition1:
    to do statement1
elif condition2:
    to do statement2
elif condition3:
    to do statement3
else 
    to do statement4

如果条件1成立,则下面的代码将被执行;否则,如果条件2成立,则执行下面的代码,……,否则,所有条件都不成立,则执行 else 语句下面的代码。

  1. 循环结构

while:只要给定条件为 True,就重复执行下面的语句块。

while condition:
  to do statement

for:重复语句块一定次数。

for <iterating_variable> in sequence:
  to do statement

问题 1.以下代码的输出什么

str1 = ['a', 'b', 'c'] 
str2 = []
for s in str1:
    s.upper() 
print(str2)

输出:

[‘a’, ‘b’, ‘c’]

for 循环遍历列表,使用 upper() 转换为大写并没有进行赋值,列表内容没有改变。

问题 2.以下代码输出什么

str1 = ['a', 'b', 'c'] 
for s in range(len(str1)):
    str1[s] = str1[s].upper() 
print(str1)

输出:

[‘A’, ‘B’, ‘C’]

for 循环遍历列表,使用 upper() 转换为大写并赋值到列表。

问题 3.以下代码输出什么

num = [1, 2, 3] 
for i in num:
    num.append(i + 1)
print(num)

以上代码不会生成任何输出,因为“for”循环永远不会停止执行。在每次迭代中,都会将一个元素添加到列表的末尾,列表的大小会不断增长。

问题 4.以下代码输出什么

i = 6
while True:
    if i % 4 == 0:
        break
    print(i)
    i -= 2

输出:

6

问题 5.编写代码打印以下图形

*
**
***
****
for i in range(1,5):
    print("*"*i)
count = 1 
while count < 5:
    print('*'*count)
    count = count + 1

问题 6.编写代码打印以下图形

1
22
333
4444
count = 1 
while count < 5:
    print(str(count)*count) 
    count = count + 1

问题 7.编写代码打印以下图形

1
12
123
1234
count = 1 
string1 ='' 
while count < 5:
    for i in range(1, count+1):
        string1 = string1 + str(i)
    count = count + 1
    print(string1)
    string1 =''

问题 8.编写代码将输出单词的所有字母依次输出

word = input ("Please enter a word : ")
for i in word:
    print (i)
Please enter a word : abc
a
b
c

问题 9.编写代码反转字符串

string1 = "abcde" 
temp = list (string1) 
count = len(temp)-1 
reverse_str='' 
while count>=0:
    reverse_str = reverse_str + temp[count] 
    count = count-1 
print(reverse_str)

问题 10.以下代码输出什么

a = 0
for i in range(5):
    if i % 2 == 0:
        continue
    a = a + 1
    print(a)

输出:

1

2

continue:回循环的顶部继续下一次循环,而不执行剩余的语句

问题 11.以下代码输出什么

for item in ('a','b','c','d'):
    print (item)
    if item == 'c' :
        break 

输出:

a

b

c

break:中断循环的执行,继续执行循环外的语句。

问题 12.使用“if”语句来检查是否为偶数

x = int(input("enter number:"))
if x%2 == 0:
    print("You have entered an even number")

问题 13.使用“if”语句来检查是否为奇数

x = int(input("enter number:"))
if x%2 != 0:
    print("You have entered an odd number")

问题 14.使用“if-else”语句检查是奇数、偶数

x = int(input("enter number:"))
if x%2 == 0:
    print("You have entered an even number")
else:
    print("You have entered an odd number")

问题 15.什么是三元运算符

三元运算符是在一行中编写的“if-else”语句。

[to do if True] if [Expression] else [to do if False]

x = int(input("请输入一个整数:"))
print("你输入了偶数") if x%2 == 0 else print("你输入了奇数")

问题 16.以下代码输出什么

i = 10
j = 10
if i > j:
    print("i 大于 j")
elif i < j:
    print("i 小于 j")
else:
    print("i 等于 j")

输出:

i 等于 j

问题 17.将上面的代码使用三元运算符实现

i = 10
j = 10
print("i 大于 j") if i > j else print("i 小于 j") if i < j else print("i 等于 j")

问题 18.以下代码输出什么

i = 2
j = 16
min_val = i < j and i or j
print(min_val)

输出:

2

问题 19.什么是选择结构

根据表达式的值决定是否执行某些代码称为条件分支。

问题 20.以下代码输出什么

a = 0
b = 9
i = [True,False][a > b]
print(i)

输出:

True

这是另一种三元运算符:

[value_if_false, value_if_true][testcondition]

问题 21.continue 语句和 pass 语句有什么区别

pass 不执行任何操作,而 continue 跳过后面的代码,继续下一次迭代。

问题 22.两个主要的循环语句是什么

for循环、while循环

问题 23.什么情况下,使用 while 语句而不是 for

while 语句用于简单的重复循环,而 for 语句用于遍历项目列表。

问题 24.如果在for循环后放置 else 语句会发生什么

else 中的代码在 for 循环完成后执行,除非在 for 循环执行中遇到 break 语句,在这种情况下,else 块不会执行。

问题 25.Python 循环中 break 和 continue 的用法

break 语句停止当前循环的执行,继续执行循环体外面的代码。continue 跳过后面的代码,继续下一次迭代。

问题 26.什么时候在 for 循环中使用 continue 语句

当处理完成特定的项目,继续下一个,而无需在循环中执行进一步的处理。

问题 27.什么时候在 for 循环中使用 break 语句

当循环达到其目的时。例如,在搜索的列表中找到项目后,无需继续循环,直接结束循环。

问题 28.for循环的结构是什么

for <iterating_variable> in sequence:
  to do statement

循环变量 iterating_variable 依次从 序列 sequence 中取值,sequence 可以是列表、字符串、元组、range()等。

问题 29.while循环的结构是什么

while condition:
  to do statement

当条件 condition 成立时,执行循环。

问题 30.按以下要求编写代码

使用 for 循环,输出字符串“I Love Python”中的每个字符,但不包括空格。

Str1 = "I LoveQPython"
for s in Str1:
    if s == ' ':
        continue
    print(s)

问题 31.说明如何执行十次循环

i = 1
while i <= 10:
    print(i)
    i += 1
    
for i in range(10):
    print(i)

问题 32.如何从 while 循环中跳出

break 语句用于终止循环的执行并继续下一个代码块。

问题 33.在 while 循环中如何放弃当前循环的执行,继续执行下一次循环

continue 语句用于停止循环代码的处理并继续下一次迭代。

问题 34.循环中如何使用 range() 函数?

range() 函数用于生成用于迭代的数字序列。

例如,range(5),返回列表 [0,1,2,3,4]。

问题 35.else 语句可以在 while 循环后使用吗

可以。else 在 while 条件变为 False 后执行,但如果使用 break 语句退出 while 循环,则不会执行。

问题 36.如何使用 range()和 len() 函数来迭代序列的索引

Items = ['I', 'Love', 'Python']
for i in range(len(Items)):
    print(i, Items[i])

问题 37.如何定义循环的主体

循环的主体由缩进定义。

问题 38. 编写一个程序来检查一个数字是否为素数

a=int(input("请输入一个整数:"))
if a==1:
   for x in range(2,a):
        if(a%x)==0:
          print("不是素数。")
          break
        else:
            print("是素数。")
else:
   print("不是素数。")

问题 39. 编写一个程序来生成星形三角形

m=int(input("请输入行数:"))
for x in range(m):
    print(' '*(m-x-1)+'*'*(2*x+1))    

输出:

请输入行数:6
     *
    ***
   *****
  *******
 *********
***********

问题 40.输入n的值,求出n的阶乘

n = int(input("请输入一个数:"))
s = 1
for i in range(1,n+1):
    s = s * i
print(s) 

文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!

  • 35
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值