当前位置:   article > 正文

小甲鱼python课后作业十七_小甲鱼新版课后作业

小甲鱼新版课后作业

了不起的分支和循环(V)

1. 请问下面代码打印的结果是什么?

>>> for i in range(10):
...     print(i, end=' ')
...     i = 5
  • 1
  • 2
  • 3

  0 1 2 3 4 5 6 7 8 9
   i = 5 不会干扰循环的正常执行节奏。因为 i 将在下一个循环开始的时候被覆盖。

2. 请问下面代码打印的结果是什么?

>>> a, b, c = range(3, 10, 3)
>>> print(a + b + c)
  • 1
  • 2

  18。因为 range(3, 10, 3) 将产生一个由 3, 6, 9 三个数字组成的对象,然后我们将其三个元素分别赋值给 a, b, c 三个变量,所以 print(3 + 6 + 9) 的值就是 18。

3. 请问下面代码打印的结果是什么?


>>> len(range(0, 10, 2))
  • 1
  • 2

  5。range(0, 10, 2) 生成了一个由 0, 2, 4, 6, 8 组成的整数数列;len() 函数用于获取一个对象的长度(包含元素的数量),因此结果当然是 5 啦。

len()
len()

4. 请问下面代码打印的结果是什么?

>>> len("FishC") + len(110)
  • 1

  报错。len(“FishC”) 返回的是 5,因为字符串 “FishC” 共由 5 个字符构成。不过,len() 函数的参数需要是一个序列或者集合(才能够获取长度嘛),整数是不能作为其参数的。

5. 请问下面代码执行后,result 变量的值是多少?

>>> result = 0
>>> for each in range(-10, -100, -20):
...     result += each
  • 1
  • 2
  • 3

  -250。range(-10, -100, -20) 将生成一个从 -20 开始,到 -100(不包含)结束,步进跨度为 -20 的整数数列,即 -10, -30, -50, -70, -90。随后,通过迭代将该数列中每个元素进行相加,因此,结果便是 -250。

6. 请问下图中,红色涂抹的位置应该填写什么代码,程序才能如期执行?
在这里插入图片描述
  continue。当 num 能被 2 整除的时候是偶数,否则为奇数。一个数不能既是偶数又是奇数,所以当 print(num, "是偶数。") 语句执行完之后,应该直接跳过 print(num, "是奇数。") 语句,进入下一轮迭代。

7. 编写一个程序,求解 100~999 之间的所有水仙花数。

科普:如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数。例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一个水仙花数。

for i in range(100,999):
    ge = i % 10
    shi = (i % 100)//10
    bai = i // 100
    if i == ge**3 + shi**3 + bai**3:
        print(i)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

8. 判断一个整数是否为回文数。

科普:回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

x = int(input("请输入一个正整数:"))
if x < 0 or (x != 0 and x%10==0):
    print("不是回文数。")
else:
    revertednumber = 0
    i = x
    while i != 0:
        revertednumber = revertednumber * 10 + i % 10
        i //= 10
    
    if x == revertednumber or x == revertednumber // 10:
        print("是回文数。")
    else:
        print("不是回文数。")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

或者

x = int(input("请输入一个正整数:"))

if x < 0 or (x % 10 == 0 and x != 0):
    print("不是回文数。")
else:
    revertedNumber = 0
    while x > revertedNumber:
        revertedNumber = revertedNumber * 10 + x % 10
        x //= 10

    if x == revertedNumber or x == revertedNumber // 10:
        print("是回文数。")
    else:
        print("不是回文数。")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/412477
推荐阅读
相关标签
  

闽ICP备14008679号