Python中的if语句和if not语句

此篇是我的《树莓派Python编程入门与实战》的阅读笔记.

举例:
def check():
    """
    检查超平面是否已将样本正确分类
    :return: true如果已正确分类则返回True
    """
    flag = False
    for item in training_set:
        if cal(item) <= 0:  # 如果有分类错误的
            flag = True  # 将flag设为True
            update(item)  # 用误分类点更新参数
    if not flag:  # 如果没有分类错误的点了
        print("最终结果: w: " + str(w) + "b: " + str(b))  # 输出达到正确结果时参数的值
    return flag  # 如果已正确分类则返回True,否则返回False
if语句
if (condition):statement

如果你曾经在其他编程语言中使用过if语句,这个格式可能看起来可能有些奇怪,因为语句中没有“then”关键字。

Pyhon使用冒号充当“then”关键字。

Python对括号内的条件进行求值,然后当返回True时执行冒号后的内容,当条件返回False时就跳过冒号后的语句。

对条件检查取反
  a=1
if  not(a==1):
        print("The 'a'variable is not equal to 1")
if  not(a==2):
        print("The 'a'variable is not equal to 2")

输出的是: The 'a’variable is not equal to 2

可使用逻辑运算符not对一个条件取反

  if not flag:  # 如果没有分类错误的点了
        print("最终结果: w: " + str(w) + "b: " + str(b))  # 输出达到正确结果时参数的值

flag其实是(flag == flag),这时flag是True,之前的flag是False,所以flag== flag为假,那么not flag就为真,if 后面的内容为真时,就执行冒号后的内容。

可使用逻辑运算符not对一个条件取反,这个not运算符将相等性比较的结果取反,使得一个False的返回结果变为True,因此产生于没有not操作符相反的动作。

因为我代码功底不强,所以画出算法流程图能够帮助我理解:
在这里插入图片描述

这段代码的作用是遍历一个文本文件的每一行,并将每行的内容进行处理。具体解释如下: 1. `for index, line in enumerate(lines):`:使用`enumerate`函数遍历`lines`列表中的每一行,并将行号存储在`index`变量中,行内容存储在`line`变量中。 2. `print("Line {}: {}".format(index, line.strip()))`:打印当前行的行号内容。`strip()`函数用于移除行内容两端的空白字符。 3. `x, y = "", ""`:初始化两个空字符串变量`x``y`。 4. `flag = False`:用于标识是否遇到了空格或换行符。 5. `i = 0`:初始化一个计数器变量`i`,用于迭代当前行的每个字符。 6. `while i < len(line):`:进入一个循环,当计数器`i`小于当前行的长度时执行。 7. `c = line[i]`:将当前字符存储在变量`c`中。 8. `if c != ' ' and c != '\n':`:如果当前字符不是空格或换行符。 9. `if not flag:`:如果标志位`flag`为假,表示还未遇到过空格或换行符。 10. `x += c`:将当前字符追加到变量`x`中。 11. `else:`:否则,表示已经遇到过空格或换行符。 12. `y += c`:将当前字符追加到变量`y`中。 13. `else:`:如果当前字符是空格或换行符。 14. `flag = True`:将标志位`flag`设置为真,表示已经遇到过空格或换行符。 15. `i += 1`:增加计数器`i`的值,继续处理下一个字符。 这段代码的目的是将每一行中的非空格非换行符的字符分别存储到变量`x``y`中。其中,变量`x`表示第一个字符串(遇到第一个空格或换行符之前的字符),变量`y`表示第二个字符串(遇到第一个空格或换行符之后的字符)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值