python 作业 17 循环5
问题:
0.请问下面代码打印的结果是什么?
>>> for i in range(10): ... print(i, end=' ') ... i = 5
0 1 2 3 4 5 6 7 8 9
1.请问下面代码打印的结果是什么?
>>> a, b, c = range(3, 10, 3) >>> print(a + b + c)
18
这里range里面表达的意思是 从3开始到10 里面数字公差为3 所以 生成数字 分别是 3 6 9 对应 a b c 相加
2.请问下面代码打印的结果是什么?
>>> len(range(0, 10, 2))
5
len函数就是获取一个对象的长度 在这里面 就是识别 0 2 4 6 8 是有几个数字
3.请问下面代码打印的结果是什么?
>>> len("FishC") + len(110)
会报错
len("FishC") 返回的是 5,因为字符串 "FishC" 共由 5 个字符构成。不过,len() 函数的参数需要是一个序列或者集合(才能够获取长度嘛),整数是不能作为其参数的。
4. 请问下面代码执行后,result 变量的值是多少?
>>> result = 0
>>> for each in range(-10, -100, -20):
... result += each
-250
range(-10, -100, -20) 将生成一个从 -20 开始,到 -100(不包含)结束,步进跨度为 -20 的整数数列,即 -10, -30, -50, -70, -90。随后,通过迭代将该数列中每个元素进行相加,因此,结果便是 -250。
5. 请问下图中,红色涂抹的位置应该填写什么代码,程序才能如期执行?
continue
动动手:
0. 编写一个程序,求解 100~999 之间的所有水仙花数。
科普:
如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数。例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一个水仙花数。

代码 1 for n in range(100,999): if (n // 100)** 3 + (n // 10 % 10) ** 3 + (n % 10)** 3 == n: print( n ) 代码2 for i in range(100, 1000): sum = 0 temp = i while temp: sum = sum + (temp % 10) ** 3 temp //= 10 if sum == i: print(i)
1. 判断一个整数是否为回文数。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

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("不是回文数。")

浙公网安备 33010602011771号