python循环,嵌套,三元运算符,循环的案列

if…语句

age = int(input("请输入您的真实整数年龄:"))  #从用户键盘输入,然后用if判断
if age >= 18:
    print("我大了")

注意在这里的input没办法限制输入的内容,只能提醒用户输入

if语句:
格式: if 判断条件(布尔类型):
            逻辑代码
执行流程:
     当判断条件的结果为True时  执行逻辑代码
      当判断条件的结果为False时  执行判断下面的代码

if语句有一点要注意,一定要注意用input输入的是str类型的,不是int, if条件判断的时候不要弄错

#第一种
age=int(input("请输入你的年龄"))
new_age=int(age)
print(type(age))
if new_age >= 18:    
     print("你是个大人咯")
#第二种
age=input("请输入你的年龄")
if age >="18":    #为什么这里会是字符串啊
     print("你是个大人咯")
if 1>2: # if语句的判断条件需要一个布尔值
    print('1小于2')

if "hello": # if 判断条件后没有传入布尔值,会自动把它转换成为布尔值  只要条件通过,就会输出print
    print("这段代码是否会输出呢?   答案是会")

if …else 语句

  格式:
   if 判断条件(布尔类型):
      逻辑代码1
   else:
      逻辑代码2

执行流程:
  当判断条件的结果为True时  执行逻辑代码1
  当判断条件的结果为False时  执行逻辑代码2

if …elif …else语句

   格式:
        if 判断条件1(布尔类型):
            逻辑代码1
        elif 判断条件2(布尔类型):
            逻辑代码2
            ....
        else:
            逻辑代码n

    执行流程:
       当判断条件1的结果为True时  执行逻辑代码1
       当判断条件1的结果为False时  接着判断条件2
       如果条件2成立  执行逻辑代码2  如果不成立  依次判断
       所有的这些语句里面  只有一条逻辑代码是可以执行的
#else 和elif有啥区别   
#elif必须和if一起使用,否则出错
#else 一般用在最后,即所有条件都不满足时使用

if嵌套

if 条件1:

    满足条件1 做的事情1
    满足条件1 做的事情2

    if 条件2:
        满足条件2 做的事情1
        满足条件2 做的事情2
  • 外层的if判断,也可以是if-else
  • 内层的if判断,也可以是if-else
  • 根据实际开发的情况,进行选择

三元运算符

格式: 变量 = 值1 if 条件 else 值2

当条件成立时把 值1 赋值给变量,条件不成立时把 值2 赋值给变量,其实就是对if…else 语句的一种简写。

比如

a = 1
b = 15
c = 14

if a > b and a > c:
    print(a)
elif b > c:
    print(b)
else:
    print(c)
    
# 使用三元运算符求三个数中的最大值
print(a if (a > c and a > b) else (b if b > c else c))

while语句

while循环:
    格式:
        while  判断语句:
            逻辑代码

for语句

for循环:
    格式:
        for 变量 in 字符串/列表/元组/集合/字典/range(start,end,step)(保证这些都是可迭代的):
            逻辑代码

break和continue

语句跳转控制:
    break: 跳出当前循环   执行循环外面的代码 (嵌套循环就会跳出break所在的那一层,当他的上一层还会继续运行)
    continue:越过本次循环  继续下次循环
# 循环打印我是大帅哥这句话  当变量等于6的时候  结束打印
i = 1
while i <= 10:
    i += 1
    if i == 6:
        continue
    print("我是大帅哥%s" % i)
print("你不是帅哥")
# 不断的询问用户,"我爱你,你爱我吗?",只有用户回答"爱"时,结束循环。
while True:
    s = input("我爱你,你爱我吗?")
    if s == "爱":
        print("好幸福")
        break

while嵌套

while 条件1:
        外循环代码块
        while 条件2:
            内循环代码块

内循环一旦开始,则要执行到条件2不满足,才会继续执行外循环的代码。

for…else

while 判断条件:
  条件成立时,循环体代码
else:
  条件不成立时,执行的代码

从上述结构中,我们可以看出,在非死循环中,正常情况下else里的语句都是会被执行的。那这个else语句到底有什么作用呢?一般情况下,循环语句和else共同出现时,在循环语句里都会配合break语句来使用。

程序正常结束的话,else就不会运行,但是当判断条件为false时, else就会出现,注意.break跳出的循环不会执行else

些许习题

###               9*9口诀表
#while循环
i=0
while i<=9:
    j = 0
    while j<i:
        j += 1
        print(f"{i}x{j}=", i*j, end="\t", sep="")
    i+=1
    print("")
    
#for循环法一
i=0
for i in range(1, 10):
    for j in range(1, 10):
        if j<=i:
          print(f"{i}x{j}={i*j}", sep="", end="\t")
    print()
    
#for循环法二
for i in range(1,10):
    for j in range(1, i-1):
        print(f"{i}x{j}={i*j}",end="\t")
    print()
    
# 3x1=3	
# 4x1=4	4x2=8	
# 5x1=5	5x2=10	5x3=15	
# 6x1=6	6x2=12	6x3=18	6x4=24	
# 7x1=7	7x2=14	7x3=21	7x4=28	7x5=35	
# 8x1=8	8x2=16	8x3=24	8x4=32	8x5=40	8x6=48	
# 9x1=9	9x2=18	9x3=27	9x4=36	9x5=45	9x6=54	9x7=63	
# 求1~100所有偶数的和
u=0
sum2=0
while u<100:
    u = u + 1
    if u%2 == 0:
        sum2+=u
        print(sum2)
    else :
        continue
# 求1~100的和
i=0    #1-100
sum=0     #和
while i<100:
    i=i+1
    sum+=i
    print(sum)
print(i)
打印出所有的水仙花数   所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身,例如:153 = 1^3+5^3+3^3
#拿出个位数,十位数,百位数
a=99
count = 0    #计数器
while a < 999:
    a += 1           #99-1000
    b = a // 100       #百位
    s = (a // 10) % 10   #十位
    g = a % 10			#个位
    if a == b**3+s**3+g**3:
        count += 1
        print(a)
print(count)
# 1.小娟的妈妈每天给她3元钱,她都会存起来,但是,每当这一天的天数是存钱的第6天或者6的倍数的话,她都会花去5元钱,
#   请问,经过多少天,小娟才可以存到100元钱
#思路:每天三块,if天数%6==0  money-5  循环次数不定,所以用while
#问题.为什么while循环   i=0  条件为i<9,却会执行10次 ,因为i=0 也执行了一次!!!!!!!!,
   #执行第一次条件是0<9,执行第一次  第二次是1<9   第三次是2<9  第九次是8<9  第九次就是9<9 循环结束

days_money=3  #每天三块
moneys=0	#初始的金钱总额
days=0		#天数
while moneys < 100:
    moneys += 3 #金钱每天三块
    days += 1
    if days % 6 == 0:  #6的倍数就用五块
        moneys-=5
print(f"所有的钱为:{moneys},用了{days}天")
#从键盘录入两个整数,判断两个数据是否相等,如果是就输出:相等,不是,输出不相等,只可以使用一条if语句完成
num1 = int(input("请输入数字1"))
num2 = int(input("请输入数字2"))
log="不相等"  	#定义log就是默认两个数字不相等
if num1==num2 :
    log="相等"
print(log)
#3.键盘录入两个数据,输出两个数中较大的值,并输出结果
#方法一
a = int(input("请输入数字1"))
b = int(input("请输入数字2"))
if a>b:
    print(a)
else:
    print(b)
#方法二
a = int(input("请输入数字1"))
b = int(input("请输入数字2"))
print(a if(a>b) else b)   #三元运算符
#8.教室高度:8848m,我现在有一张足够大的纸张, 厚度为:0.12m。请问,我折叠多少次,就可以保证厚度不低于教室的高度?
h=0.12   #初始高度
count=0
while h<8848:
    count += 1
    h *= 2	 #每折一次  乘以2
print(h)
print(count)
print(0.12*(2**16))  #验证16次的高度
#10.找出 1 - 100之间所有的包含7或者被7整除的数字
num = 0
count = 0
while num<100:
    num+=1
    if num % 7 == 0 or num // 10 == 7:   #个位数为7 or  十位数为7
        count += 1
        print(num)
print(f"共有{count}个")
# 打印1~100所有的质数。 质数的条件是除了1和它本身以外  不能被任何整数整除
for i in range(2, 100):

    for j in range(2, i):
        # 如果i % j是True  那么就会执行break  一旦执行break  那么else中的所有的代码都不再执行
        # 当i % j一直没有被触发  那么内层循环自动结束  自动结束证明没有可以被整除的数据  那么i就是一个质数
        # 就会去执行else里面的print()语句
        if i % j == 0:
            break
    else:
        print(i)
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值