Python基础语法——if选择

本文详细介绍了Python中的选择语句,包括单向选择、双向选择、多项选择及嵌套选择等,并通过泽勒一致性问题的实际案例展示了如何运用这些语句。

前言

学习python的基础语法部分-if选择,包含单向选择和双向选择,多项选择以及嵌套选择,学习过程发现几个有趣的运算,借此进行交流学习分享。

布尔类型

布尔类型是用来表示布尔值True和False的,是在选择中进行判断的依据,在计算机内部False为0,True为非0数,可以使用print(int(True))print(int(False))进行查看数值。

if语句

单向选择语句:
if boolean-expression:
    statement(s)

当判断的布尔语句结果为True时执行相应statement语句内容。

双向选择:if-else语句
        statement-for-true-case
    else:
        statement-for-false-case

双向选择不仅满足判断会进行操作,不满足会进行另一种操作。

嵌套选择:
if boolean-expression:
    if boolean-expression:
        ...
        statement(s)

嵌套选择是每层选择中存在另一层选择,适用于一层选择中还有分支选择的存在。

多项选择:if-elif-else
if boolean-expression:
    statement-for-true-case
elif boolean-expression:
    statement-for-true-case
else:
    statement-for-false-case
实操:

通过实现泽勒一致性问题进行练习选择语句,代码如下:

#!/usr/local/bin/python
# encoding: utf-8
'''
test -- 软件流程开发学习 -- 泽勒一致性

@author:     Eric

@copyright:  2017 organization_name. All rights reserved.

@contact:    xj_lin@protonmail.com
'''
def calculateDayofWeek(q,m,k,j):
    h = (q + (26*(m + 1) // 10) + k + (k // 4) + (j // 4) + 5*j) % 7#泽勒一致性
    return h

def info_enter():
    year = eval(input("请输入年份:"))
    j = year // 100#世纪数
    month = eval(input("请输入月份:"))
    if month == 1:
        m = 13
        k = year % 100 - 1#年份
    elif month == 2:
        m = 14
        k = year % 100 - 1#年份
    else:
        m = month
        k = year % 100#年份
    day = eval(input("请输入月份中哪一天:"))
    q = day
    return q, m, k, j,day,month,year
if __name__ == "__main__":
    q,m,k,j,day,month,year = info_enter()
    #求出日期对应着一个星期的哪一天
    h = calculateDayofWeek(q, m, k, j)
    if h == 0:
        week = 'Saturday'
    elif h == 1:
        week = 'Sunday'
    elif h == 2:
        week = 'Monday'
    elif h == 3:
        week = 'Tuesday'
    elif h == 4:
        week = 'Wednesday'
    elif h == 5:
        week = 'Thursday'
    elif h == 6:
        week = 'Friday'
    print(str(year)+'-'+str(month)+'-'+str(day)+" is "+week+' of the week.')
小结

选择语句在其他的程序语言中也有,所以学过其他语言再学习Python的基本语法会很快上手,关键还是多动手码代码,与众多学习中的奋斗者共勉!

<think>好的,用户想学习Python基础语法,并通过示例创建一个健康指数计算器。首先,我需要确定用户的基础水平,可能是个刚开始学习Python的新手,所以需要从基础语法讲起,再逐步引导到项目实践。 根据用户提供的引用内容,特别是引用[2]和[3],用户可能更倾向于使用简单的编辑器而不是复杂的IDE,所以示例代码应该简洁,不需要依赖外部库。同时,引用[5]提到了使用函数和参数,这可以作为健康指数计算器的基础结构。 首先,我应该介绍Python基础语法,包括变量、输入输出、条件判断和函数定义。然后,结合健康指数计算器的需求,比如BMI计算,分步骤讲解如何实现。可能需要包括用户输入身高体重,计算BMI,并根据结果分类健康状态。 还要注意代码规范,引用[1]中的PEP 8,所以示例代码需要符合规范,比如函数命名用小写字母和下划线,适当的空格等。同时,引用[4]的索引知识可能在处理字符串时有用,但在这个示例中可能用不上,但可以留到后续扩展。 用户可能需要清晰的步骤,所以将教程分为基础语法和实战示例两部分。在实战部分,先明确健康指数的定义,比如BMI,然后逐步编码,并解释每一部分的作用。最后,可以给出优化建议,比如增加异常处理,让用户有机会扩展。 需要确保LaTeX格式正确,行内公式用$...$,独立公式用$$...$$。例如,BMI公式是独立公式,应该用$$...$$。同时,生成的相关问题要围绕用户可能遇到的下一步问题,比如如何处理无效输入,增加其他指标等。</think>### Python基础语法与健康指数计算器教程 --- #### **一、Python基础语法要点** 1. **输入输出** 使用`input()`获取用户输入,`print()`输出结果: ```python height = float(input("请输入身高(米):")) print("您的身高是:", height) ``` 2. **变量与运算** Python支持基本算术运算,如`+`、`-`、`*`、`/`,适合计算健康指数: $$BMI = \frac{体重}{身高^2}$$ ```python weight = 65 # 单位:千克 bmi = weight / (height ** 2) ``` 3. **条件判断** 用`if-elif-else`实现健康状态分类: ```python if bmi < 18.5: status = "偏瘦" elif 18.5 <= bmi < 24: status = "正常" else: status = "超重" ``` 4. **函数定义** 封装计算逻辑为函数(参考引用[5]): ```python def calculate_bmi(height, weight): return weight / (height ** 2) ``` --- #### **二、健康指数计算器实战** **目标**:计算BMI并评估健康状态 **完整代码**: ```python def health_calculator(): print("=== 健康指数计算器 ===") height = float(input("请输入身高(米):")) weight = float(input("请输入体重(千克):")) bmi = weight / (height ** 2) if bmi < 18.5: status = "偏瘦" elif 18.5 <= bmi < 24: status = "正常" elif 24 <= bmi < 28: status = "超重" else: status = "肥胖" print(f"您的BMI是:{bmi:.1f},状态:{status}") health_calculator() ``` **代码说明**: - `input()`获取用户输入并转为浮点数 - BMI公式计算体重与身高平方的比值 - `if-elif-else`实现多条件分类 - 输出结果保留1位小数(`:.1f`) --- #### **三、优化建议(PEP 8规范参考引用[1])** 1. **异常处理**:添加`try-except`防止无效输入 ```python try: height = float(input("请输入身高(米):")) except ValueError: print("请输入数字!") ``` 2. **扩展功能**:增加体脂率、基础代谢率等指标 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值