2021-03-14

2.流程控制语句

#  网吧禁止入内标语
age = 18
if age < 18:
    print('您还未满18岁,禁止入内')
else:
    print('欢迎光临!')

#  网吧禁止入内标语
if 3 - 1:
    print('非零的数在布尔表达中都为True')
else:
    print('0 代表False')
    

# 逻辑运算符,not,and,or
a = 4 < 1
b = 4 < 1
c = 4 == 1
print(a and b)
print(not a)
print(a or b)
# 逻辑运算顺序 not > and > or
print( a and b or c and not b)

# 多分支语句 if  ——elif——else 
hight = float(input('请输入您的身高(m):'))
weight = float(input('请输入您的体重(kg):'))
bmi = weight/ hight**2
# bmi = weight/pow(hight,2) 次方函数pow(3,2)
if bmi <= 18.4:
    print('测试结果:偏瘦')
elif bmi >18.4 and bmi<= 23.9:
    print('测试结果:正常')
elif bmi > 23.9 and bmi<=27.9:
     print('测试结果:过重')
else:
     print('测试结果:肥胖')

# 多if 和 elif 区别
# 比较上下两段代码
a = 5
if a < 6:      #条件1
    print(1)
if a < 7:      #条件2
    print(2)
else:
    print(3)
    
########################
a = 5
if a < 6:      #条件1
    print(1)
elif a < 7:      #条件2
    print(2)
else:
    print(3)
# 比较上面两段代码
1.if-elif-else 结构性强,只会走最上面满足条件的一条路线,比如满足a<6和a<7,只会走a<6这条路
2.if-if,是每个if走一条路,每次判断都会从头开始判断,所以说出的结果只会和条件有关

# 循环语句
i = 0
while i < 5:
    print('python is best language')
    i += 1

# 综合训练——阶乘计算器
j = int(input('请输入你要计算的阶乘数:'))
i = 1
result = 1
while i <= j:
    result = i * result
    if i % 5 == 0: # 当i能被5整除时,打印出中间结果
        print(i,result)
    i += 1
print(result)

# continue(不再执行后面的语句,直接进行下一次循环) 和 break(跳出当前循环)
start = 101
end = 183
i = 100
while i <=182:
    i += 1
    if i % 17 != 0:
        continue
    print(i)

# 查找1000以内的质数
# 1.先判断某个数是不是质数
num = 51
i = 2
is_prime = True
while i < num :
    if num % i ==0:
        is_prime = False
        break
    i += 1
if is_prime ==True:
    print('{}是质数'.format(num))
else:
    print('{}不是质数'.format(num))

# 2.查找1000以内的质数
j = 2
while j <1000:
    num = j
    i = 2
    is_prime = True
    while i < num :
        if num % i ==0:
            is_prime = False
            break
        i += 1
    if is_prime ==True:
        print('{}是质数'.format(num))
    else:
        print('{}不是质数'.format(num))
    j += 1

# 二进制转十进制
Binary_system = input('请输入您要转换的数字:')
a2 = Binary_system
i = 1
lit = []
while i <= len(a2):
    n = int(a2[len(a2) - i])
    lit.append(n * pow(2, i-1))
    i += 1
print(lit) #  将各个位的结果汇总在了lit里
from functools import reduce
Decimal_system = reduce(lambda a, b: a+b, lit)
print(Decimal_system)

# 十进制转二进制(下列思路有问题)
decimal_system = input('请输入您要转换的数字:')
a = decimal_system
lit = []
while a != 0:
    b = a % 2
    lit.append(b)
    c = a // 2
    a = c
print(lit) # 将各个位的数汇总在了lit里

i = 1
lit2 = []
while i <= len(lit):
    d = lit[len(lit)-i] * pow(10,len(lit)-i)
    lit2.append(d)
    i += 1
print(lit2)
from functools import reduce
binary_system = reduce(lambda n,m :n+m,lit2)
print(binary_system)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值