循环语句以及IF和注释
while True:
print("This is True")
if True:
print("This is IF True")
elif False:
print("This is ElIf False")
else:
print("this is no")
# 这里是单行注释
'''
这里是多行注释
'''
"""
这里是多行注释
"""
猜数字
import random
sec = random.randint(1,10)
data = int(input("请输入一个任意值"))
count = 3
while count:
if data > sec:
print("大了")
elif data < sec:
print("小了")
else:
print("Yes")
break
data = int(input("还有" + str(count) + "次机会"))
count -= 1
print("游戏结束");
# python没有自增或者自减运算
for循环
"""
for 目标 in 表达式 :
循环体
else:
若循环体正常结束, 不是通过break跳出循环则可以执行else语句中的内容
range(起始,结束,步长)
range(结束) 默认从0-结束,步长为1
"""
实现三目运算符
x = 1
y = 2
m = (x < y and [x] or [y])[0]
#m = ((((x > y) and[x]) or [y]))[0]
#这个式子可以简化成(x<y and x or y),即x<y为真时输出x,否则输出y。但当x和y的有值为0(等同于flase)的情况就会判断失误。因此改为[x]和[y],这样[x]和[y]就都为真了,再加上(0),又变成了列表的第一个元素,即复原为x或y。
关于逻辑操作符
3 or 4
# 3
3 and 4
#4
水仙花数的实现
def NarciNum(num):
for num in range(100,num):
if (int(str(num)[0])**3 + int(str(num)[1])**3 + int(str(num)[2])**3) == num:
print(num,"is nar num")
else:
continue
NarciNum(999)
"""
range只到998, 不包括最后一位
"""
分球问题
"""
有红、黄、蓝三种颜色的求,其中红球 3 个,黄球 3 个,绿球 6 个。先将这
12 个球混合放在一个盒子中,从中任意摸出 8 个球,编程计算摸出球的各种
颜色搭配
"""
def NarciNum(red,yel,wht,num):
ls = [red,yel,wht]
ls.sort()
flag = (num - int(ls[0]) - int(ls[1]) > 0 and [num-int(ls[0])-int(ls[1])] or [1])[0]
print (type(flag), flag)
for m1 in range(1,int(ls[0]) + 1):
for m2 in range(1,int(ls[1]) + 1):
for m3 in range(flag,int(ls[2]) +1):
if m1 + m2 + m3 == 8:
print(" ",m1,"",m2," ",m3)
NarciNum(3,3,6,8)
ange(flag,int(ls[2]) +1):
if m1 + m2 + m3 == 8:
print(" “,m1,”",m2," ",m3)
NarciNum(3,3,6,8)