100天自学大数据

金哥Python教程~P2~逻辑思维1

2020-05-26  本文已影响0人  金哥数据分析

本章知识点 :> 逻辑思维


这节课会比较轻松

有人说第1章和第2章的内容太丰富了,脑子要挤爆了。好消息是 变量运算 循环控制; 掌握这4个知识我们已经可以写世界上绝大部分的程序了。(后面的知识不过是现有知识的优化而已)

所以第3章和第4章讲 逻辑思维 (有没有感觉到逻辑思维才是真正的核心), 同时也是对 第1章和第2章的复习。

image.png
钱包的变化

第一个故事是关于钱包的,尝试用Python来记录小明的钱包


钱包
#下面的话描述了小明最近3天的消费情况
#刚开始他的钱包有 100元零5毛
#第一天,花了30元
#第二天,收入10元,花了20元
#第三天,花了25元
# 请用Python程序来表示这个过程~
image.png

试一下 在线Python


书店打折了

随着钱包 的变化,我们也感受到了 变量变化

假如一本书的封面标价是24.95美元,书店打六折。第一本运费花费3美元,后续每增加一本的运费是75美分。问买60本一共花费多少钱呢?
思路

N=60
total = 0.0
total = 24.95 * 0.6 #书本费
total = total + 3 #第一本
total = total + (N-1)* 0.75 #注意N-1要括号
print(total)
试一下 在线Python


减肥吗女神
#女神的体重是55公斤
#女神的身高是1米62
#请问根据 BMI 指数,女神需要减肥吗?
BMI算法 image.png

height = 1.62
weight = 55
bmi = ‘’ #不知道先为空

#"BMI算法"
bmi_zhishu = 0#初始值为0 (注意这里的指数不要取名为 bmi 不要和之前的重复,因为数据不一样)
bmi_zhishu = weight / (height * height)
if bmi_zhishu < 18.5:
    bmi = ‘过轻’
if bmi_zhishu >= 18.5 and bmi_zhishu < 23.9:
    bmi = ‘正常’
if bmi_zhishu >= 23.9 and bim_zhishu < 27:
    bmi = ‘过重’
if bmi_zhishu >= 27:
    bmi = ‘肥胖’

if bmi == "过重" or bmi == ”肥胖“: #还记得比较运算和布尔运算吗,== or : 可以看第二章来复习
    print("减肥")
if bmi == "过轻" or bmi == ”正常“: #还记得比较运算和布尔运算吗,== or : 可以看第二章来复习
    print("不减肥")


地铁1号线
image.png

"右走1站"
"右走1站"
...

或者
"左走1站"
"左走1站"
...

来指路。(考虑特殊情况如果 用户要去的就是 王府井 站,那么请打印 "现在出站")

start = '王府井'
start_num = 8
end = '?' #具体执行时填写
end_num = 0 #默认是0,请用算法计算

#"站名转站号算法"

fangxiang = ''
zou_num = 0
if start_num == end_num:
    print("现在出站")

if start_num < end_num:
    fangxiang = '右'
    zou_num = end_num - start_num
    a = 0
    while a < zou_num:
        print(fangxiang+'走1站') #一定要4个空格
        a = a + 1

if start_num > end_num:
    fangxiang = '左'
    zou_num = start_num - end_num
    a = 0
    while a < zou_num:
        print(fangxiang+'走1站') #一定要4个空格
        a = a + 1

image.png

start = '王府井'
start_num = 8
end = '?' #具体执行时填写
end_num = 0 #默认是0,请用算法计算

#"站名转站号算法"
if end == '四惠东':
    end_num = 1
if end == '四惠':
    end_num = 2
if end == '大望路':
    end_num = 3
if end == '国贸':
    end_num = 4
if end == '永安里':
    end_num = 5
if end == '建国门':
    end_num = 6
if end == '东单':
    end_num = 7
if end == '王府井':
    end_num = 8
if end == '天安门东':
    end_num = 9
if end == '天安门西':
    end_num = 10
if end == '西单':
    end_num = 11
if end == '复兴路':
    end_num = 12
if end == '南礼士路':
    end_num = 13
if end == '木樨地':
    end_num = 14

fangxiang = ''
zou_num = 0
if start_num == end_num:
    print("现在出站")

if start_num < end_num:
    fangxiang = '右'
    zou_num = end_num - start_num
    a = 0
    while a < zou_num:
        print(fangxiang+'走1站') #一定要4个空格
        a = a + 1

if start_num > end_num:
    fangxiang = '左'
    zou_num = start_num - end_num
    a = 0
    while a < zou_num:
        print(fangxiang+'走1站') #一定要4个空格
        a = a + 1


目录

金哥Python教程P0变量与运算
金哥Python教程P1循环与控制
金哥Python教程P2逻辑思维1
金哥Python教程P3逻辑思维2

上一篇 下一篇

猜你喜欢

热点阅读