python水仙花数_Python专题 | Python基础讲解(2)

aebb6e4c3e8229591bcb43203bd9751d.gif

点击上方蓝字,关注我们

1.1 条件循环语句

1.1.1 If语句

基本的判断语句就为:

If ():
Ture的命令
else:
false时的执行命令

另一种判断方法:

If ():
Ture的命令
elif ():
新的Ture的命令
else:
False的命令

1.1.2 循环语句

While的基本的判断语句为:

While ():
为True时所执行的命令

注:python中的假除了False,还有0,“”,(),{}。

print()默认是打印完字符串会自动添加一个换行符,如果添加end=" "参数告诉print()用空格代替换行。

## if 语句
x = 2
if x == 2:
print("x equals two!")
else:
print("x does not equal to two.")

## while循环
count = 0
while count < 5:
print(count)
count += 1

##结果
x equals two!

0
1
2
3
4

For循环的基本判断语句:(通常与range结合起来)

for 目标 in 数据源:
循环体

#例1
for i in range(2,9):
#结果为1,3,5,7,9,不包括range中stop的那个值。

注1:Sequence[start:end:step],step为正,则从左到右切片,如果 start > end,则为空;step为负,则从右到左切片,如果 start < end,则为空。

a=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a[8:3:-1]= [9, 8, 7, 6, 5],# 右-》左切片,step 为1,a[8]=9, a[7]=8, ... a[4]=5
a[10:0:-2]= [10, 8, 6, 4, 2],#切片的时候,不存在 index 越界情况,a[10]不存在,a[9]=10, a[7]=8
a[5::-2]= [6, 4, 2],#右-》左,等价 a[5:0:-2] a[5]=6, a[3]=4, a[1]=2

注2:a[::-1]  表示a中的所有元素进行倒置

a[:-1]  表示去掉a中的最后一个元素。

注3:python中支持负数索引

957ae9d5b77a69b2b8ff03cae6095fca.png

1.1.3 break和continue语句

break 是当条件满足时,跳出循环;

continue是条件满足是不执行后面的循环语句,执行下一轮的循环。

小试牛刀1:

编写一个程序,求 100~999 之间的所有水仙花数,如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数。例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一个水仙花数。

for i in range(100, 1000):
sum = 0
temp = i
while temp:
############## 补全以下代码 1行 ######################

temp //= 10
if sum == i:
print(i)

小试牛刀2:

有红、黄、蓝三种颜色的求,其中红球 3 个,黄球 3 个,绿球 6 个。先将这 12 个球混合放在一个盒子中,从中任意摸出 8 个球,编程计算摸出球的各种颜色搭配。

print('red\tyellow\tgreen')
for red in range(0, 4):
for yellow in range(0, 4):
#### 补全range里面的内容 1行 ######################
for green in range( ):
##### 补全if后面的代码 1行 ######################
if
# 注意,下边不是字符串拼接,因此不用“+”哦~
print(red, '\t', yellow, '\t', green)

结果为:
red yellow green
0 2 6
0 3 5
1 1 6
1 2 5
1 3 4
2 0 6
2 1 5
2 2 4
2 3 3
3 0 5
3 1 4
3 2 3
3 3 2

小试牛刀3:

爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。(答案:119)

x = 7
i = 1
flag = 0

while i <= 100:
if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6==5):
flag = 1
else:
############## 补全以下代码 (Hint:根据题意,x一定是7的整数倍,所以每次乘以7) 1行 ######################

i += 1

if flag == 1:
print('阶梯数是:', x)
else:
print('在程序限定的范围内找不到答案!')

1.2 常见操作符

+,-,*,/(得到浮点值真正的除法),%,**,//(去除小数,保留前面的数)

>,>=,

not , and, or      (逻辑操作符)

优先级问题:

幂运算—正负号—算术操作符—比较操作符—逻辑运算符

注:

①a+=3,表示a=a+3;a*=10,表示a=a*10,很方便

②a

注:大家一定要记住/和//的区别哦

a=100/3
b=100//3
print("%5.3f" %a)
print(b)

#结果
33.333
33

PS. 习题参考答案详见下期

07bf902ad5867f53dd7284cdd8c6ebf3.png
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值