Python骚操作之第二话常用语句及经典案例

文章目录

前言

一、判断语句

if 语句

if语句是最简单的条件判断语句,它可以控制程序的执行流程

如果缩进不同,则代表不同层级

多重判断
if 判断语句:
 代码执行
elif 判断语句:
 代码执行
elif 判断语句:
 代码执行
else:
 代码执行
嵌套判断
if 判断语句:【符合该判断语句进入以下判断】
    if 判断语句:
   .....
    elif 判断语句:
         print
    else 判断语句:
         print
else:

if 案例

#演示选择结构
#绿灯代表通行,红灯代表不能通行,黄灯代表减速
for i in range(0,5):
    car = input("请输入您是什么类型的车")
    if car == 'emergency ambulance' or car =='急救车':
        print('您可以不需要等待红绿灯')
    elif car == '0' or car == 'null':
        print('您输入错误,退出')
        break
    elif car != '急救车' or 'emergency ambulance':
        color = input('请输入您的红绿灯颜色:')
        if color == 'green' or color == '绿色':
            print('可以通行')
        elif color == 'red' or color == '红色':\
                print('禁止通行')
        elif color == 'yellow' or color == '黄色':\
                print('请慢行')
        else:
                print('红绿灯出现故障,请自 行解决')
print('本次游戏到此结束')

单if判断

num1=int(input('请输入一个数'))
num2=int(input('请输入第二位数'))
a=0
if num1 > num2:
    a=num1
    num1=num2
    num2=a
    print(num1,num2)

二、循环语句

while循环

while 条件表达式:
  条件满足,执行循环语句
  变量值改变
  #为了让条件判断发送变化,从而使循环有结束的可能

while案例

i=1
while i<5:
    tem=int(input('请输入室内温度'))
    if tem <= -20:
        print('不在本市可控范围内')
        break
    if tem < 5  or tem >=35:
        print('开空调')
        i+=1
    elif tem <35 and tem >=5 :
        print('不开空调')
        i+=1

for 循环

第一种格式

for  变量 in  序列
    循环语句

第二种格式

for  i(随机) in []/{}/()  序列/元组/字典
 print

for循环案例
鸡兔同笼

for i in range(41)
 r=40-i
 if i * 2 + r *4 ==120:
 print('鸡有'+str(i)+'兔'+str(r))

从1加到100

print('从1+100')
i=1
sum=0
for i in range(101):
    sum+=i
print(sum)

10的阶乘

print('10的阶乘')
sum=1
for i in range(1,11):
    sum=sum*i
print(sum)

三、break

break语句是用于结束整个循环
但是多次循环时只跳出当前循环

break案例

while True:
    a = int(input('请输入您的分数'))
    if a >= 60:
        print('退出考试'+'您的分数是'+format(a))
        break #跳出循环体
    else:
        print('您的分数是'+str(a)+',继续考试')
        continue #结束本次循环,继续下次循环

四、continue

continue结束本次循环,继续下一次循环

五、面试经典案例

5.1、‘1020个瓜,第一天卖掉总数的一半后多卖出两个,以后每一天麦剩下的一半多两个,问几天以后能卖完’
i=1
sum=1020
for i in range(20):
    sum=sum/2-2
    i+=1
    if sum == 0:
        print(i)
 .......
 8
5.2、猴子吃桃:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天又将剩下的桃子吃了一半,又多吃了一个,以后每天都吃了前一天剩下的一半零一个,到第十天早上想吃的时候,就只剩下一个桃子,问:第一天一共摘了多少桃子?
num=1 #第十天还剩1个
i=0
sum=0
for i in range(9):
    sum = 2 * (1+num) # 最后一天还剩1个,1+1*2得到第九天的桃子数量
    num = sum # 由num接收sum的数量,传回循环外,继续循环
print(sum)
......
1534
5.3、有个人想知道,一年之内一对兔子能繁衍多少对?于是就筑了一道围墙,把一对兔子关在里面,已知一对兔子每个月可以生一对小兔子,而一对小兔子从出生后第3个月起生一对小兔子,假如一年内没有死亡现象,那么,一对小兔子一年内(12个月)能繁衍多少对?分析:兔子的规律是1,1,2,3,5,8,13,21
first=1 #第一个月的兔子
second=1 #第二个月的兔子
num2=0 #空值接收第三个月的兔子

for i in range(3,13):#从第三个月开始繁衍
    num2 = first+second
    first = second
    second = num2
print(num2)
.......
144
5.4、计算1000以内所有不能被7整除的整数之和
sum=0
for i in range(0,1001):
    if i % 7 != 0:
        sum=sum+i

print(sum)
.......
429429
5.5、计算1+2-3+4-5+6-7…+100的结果//注意审题
sum=1
for i in range(2,101):
    if i % 2 == 0:
        sum+=i
    else:
        sum-=i
print(sum)
........
52
5.6、一张纸的厚度大约是0.08mm,对折多少次后能达到或超过珠穆朗玛峰的高度(8848.13米)
a=0.00008
sum=0
for i in range(1,100000):
    a*=2
    sum+=1
    if a >= 8848.13:
        break
print(sum)
.....
27
5.7、一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下, 求它在 第10次落地时,共经过多少米?第10次反弹多高?
length = 100  # 球的高度
back = 0  # 第10次
d = 0  # 共多少米
for a in range(1, 11):
    back = length / 2  # 100/2==50
    d = d + length + back  # 0
    length = back

c=d - back
print('共经过' + str(c) + '米')
print('第十次高度是' + str(back))
......
共经过299.609375米
第十次高度是0.09765625
5.8、每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后身高的因素有遗传、饮食习惯与坚持体育锻炼等,小孩成人后的身高与其父母的身高和自身的性别密切相关。设faHeight为其父亲身高,MoHeight为其母身高,身高预测公式为:男性成人时身高=(faHeight+moHeight)0.54 女性成人时身高=(faHeight0.923+moHeight)/2 此外,如果喜爱体育锻炼,那么可增加身高2%,如果有良好的卫生饮食习惯,那么可增加身高1.5%,利用给定公式和身高预测方法对你的身高进行预测。要求父母的身高,是否爱好体育锻炼等参数从键盘输入。
faHeight=float(input('请输入父亲的身高'))
moHeight=float(input('请输入母亲的身高'))
sport=str(input('是否爱好体育锻炼'))
habit=str(input('是否有良好的卫生饮食习惯'))
man=0
woman=0
gender=input('请输入您的性别')
if gender == '女':
    woman=(faHeight*0.923+moHeight)/2
    if sport == 'yes' or '是':
        woman=woman*1.02
        if habit == 'yes' or '是':
            woman=(woman*1.015)
            print('您的性别'+format(gender)+'您的身高是'+str(woman))
elif gender == '男':
    man = (faHeight+moHeight)*0.54
    if sport == 'yes' or '是':
        man =(man * 1.02)
        if habit == 'yes' or '是':
            man = (man * 1.015)
            print('您的性别'+format(gender)+'您的身高是'+str(man))
 .......................................
请输入父亲的身高1.9
请输入母亲的身高1.5
是否爱好体育锻炼否
是否有良好的卫生饮食习惯是
请输入您的性别女
您的性别女您的身高是1.684277805
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值