自己学学编程——Python_chapter4_秋海鱼的博客-程序员宅基地

本章内容:程序的组织结构:顺序结构、选择结构if、循环结构while/for-in

一、顺序结构:每条程序都要执行

二、选择结构:

  1. 对象的布尔值:
    在Python中一切皆对象,所有对象都有一个布尔值,使用内置函数bool()获取对象的布尔值。
    以下对象的布尔值为False:False、数值0、None、空字符串、空列表、空元组、空字典、空集合
print(bool(False))
print(bool(0))
print(bool(0.0))
print(bool(None))
print(bool(''))  #空字符串
print(bool(""))  #空字符串
print(bool([]))  #空列表
print(bool(list()))   #空列表
print(bool(()))       #空元组
print(bool(tuple()))  #空元组
print(bool({
    }))       #空字典
print(bool(dict()))   #空字典
print(bool(set()))    #空集合

除以上外,其他对象的布尔值均为True,如:

print(bool(18))
print(bool(True))
print(bool('helloworld'))
  1. 选择结构:程序根据判断条件的布尔值选择执行部分代码,明确让计算机知道在什么条件下执行什么语句
    (1)单分支结构(执行或不执行):if…:条件表达式为True,则执行
举例:判断余额是否充足
money=1000 #余额
s=int(input('请输入取款金额:')) #取款金额
if money>=s:
    money=money-s
    print('取款成功,余额为:',money)

(2)双分支结构(二选一执行):if…else…:为True就执行,不为True就执行else后的

举例:判断是奇数还是偶数
a=int(input('输入一个数:'))
if a%2==0:      #注意冒号不能丢
    print('偶数')
else:           #注意冒号不能丢
    print('奇数')

(3)多分支结构(多选一执行):if…elif…elif…else:else可写可不写

#举例:输入分数,判断输出等级
#写法一:
score=int(input('输入你的分数:'))
if score>=90 and score<=100:
    print('等级为A')
elif score>=80 and score<90:
    print('等级为B')
elif score >= 70 and score < 80:
    print('等级为C')
elif score >= 60 and score < 70:
    print('等级为D')
elif score >= 0 and score < 60:
    print('等级为E')
else:
    print('对不起,成绩不在有效范围')
#写法二:
score=int(input('输入你的分数:'))
if 90<=score<=100:
    print('等级为A')
elif 80<=score<90:
    print('等级为B')
elif 70<=score < 80:
    print('等级为C')
elif 60<=score < 70:
    print('等级为D')
elif 0<= score < 60:
    print('等级为E')
else:
    print('对不起,成绩不在有效范围')

(4)单分支、多分支嵌套结构

answer=input('您是会员吗?y/n')
money=float(input('请输入您的购物金额:'))
if answer=='y':
    if money>=200:
        print('打八折,付款:',money*0.8)
    elif money>=100:
        print('打九折,付款:',money*0.9)
    else:
        print('不打折,付款:',money)
else:
    if money>=200:
        print('打九五折,付款:',money*0.95)
    else:
        print('不打折,付款:',money)

(5)条件表达式:x if 判断条件 else y

#举例:不使用条件表达式
num_a=int(input('请输入第一个整数'))
num_b=int(input('请输入第二个整数'))
if num_a>=num_b:
    print(num_a,'大于等于',num_b)   #字符串前后的逗号不能丢
else:
    print(num_a,'小于',num_b)      #字符串前后的逗号不能丢
#举例:使用条件表达式
num_a=int(input('请输入第一个整数'))
num_b=int(input('请输入第二个整数'))
print(str(num_a)+'大于等于'+str(num_b) if num_a>=num_b else str(num_a)+'小于'+str(num_b))

pass语句:

语句什么都不做,只是一个占位符,用在语法上需要语句的地方。
什么时候用:搭建语法结构,在还没想好代码怎么写的时候用。
和哪些语句一起使用:(1)if语句的条件执行体(2)for-in语句的循环体(3)定义函数时的函数体

20210503

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44785590/article/details/116377390

智能推荐

统计学习方法--KL散度的定义和狄利克雷分布的性质_kl散度的导数_三维虫子的博客-程序员宅基地

文章浏览阅读643次。与公众号同步更新,详细内容及相关ipynb文件在公众号中,公众号:AI入门小白文章目录KL散度的定义狄利克雷分布的性质KL散度的定义KL散度是描述两个概率分布Q(x)Q(x)Q(x)和P(x)P(x)P(x)相似度的一种度量,记作D(Q∥P)D(Q\Vert P)D(Q∥P)。对离散随机变量, KL 散度定义为D(Q∥P)=∑iQ(i)log⁡Q(i)P(i)(E.1)D(Q\Vert P) = \sum_i Q(i) \log \frac{Q(i)}{P(i)} \quad \tag{E.1}_kl散度的导数

SDL environment-程序员宅基地

文章浏览阅读935次。http://www.libsdl.es/wiki/doku.php?id=sdl_api:sdl_envvars SDL environment variables========================= last updated: 27 Sept 2001 The following applies to the CVS SDL (the 1.2 branch). This is

python 文件名匹配_Python文件名匹配与文件复制的实现-程序员宅基地

文章浏览阅读615次。文件名的匹配,实际上就是相当于获取文件名(不含后缀),然后利用获取到的文件名到另外一个文件夹中去寻找对应的文件,然后将文件取出,放置到指定文件夹下.概括的来说,分三个步骤:一是取出遍历目录A,得到各个文件文件名;二是利用该文件名,与指定路径B拼接,并加上后缀,产生目标文件名;三是根据拼接产生的目标文件名,将相应文件复制到指定目录C.好,那么我们开始写代码吧~~~step1:获取指定目录A下面的所有..._python shutil 匹配文件名称

UML 核心元素之 参与者_uml 参与者-程序员宅基地

文章浏览阅读9.7k次。参与者(actor)在建模过程中是处于核心地位的。UML官方文档对actor的定义为:参与者(actor)是在系统之外与系统交互的某人或某事物。“系统之外”的定义说明在参与者和系统之间有一个明显的边界,参与者(actor)只可能存在于边界之外,边界之内的所有人或者事物都不是参与者。参与者(actor)还有另外一种叫法:主角。主角这一叫法则很明确的说明了只有主动启动了业务的,才是参与者。 发_uml 参与者

MAC下LaTex环境配置_maclatex偏好设置-程序员宅基地

文章浏览阅读4k次,点赞3次,收藏2次。下载安装MacTeX、sublime text 3 、Skim打开skim的偏好设置,找到PDF_TEX下的preset选项,选择sublime text安装LaTexTools插件.Ctrl+Shift+P, 输入 LaTeXTools: Reconfigure and migrate settings 新建文档,输入以下内容,文档格式为.tex,command+b编译_maclatex偏好设置

HTML星星组成的平行四边形,用一个程序打印菱形,平行四边形星星图_晓荼的博客-程序员宅基地

文章浏览阅读608次。//打印一个5行六列的星星int m=1;while(m<=5) {int n=1;while(n<=6) {System.out.print("*");n++;}System.out.println();m++;}System.out.println("空心的:");//打印一个五行六列的空心星星int y;for(y=1;y<=5;y++) {for(int m1=1;m1&...

随便推点

机器学习小组知识点4&5:批量梯度下降法(BGD)和随机梯度下降法(SGD)的代码实现Matlab版_matlab实现bgd-程序员宅基地

文章浏览阅读6.7k次,点赞4次,收藏23次。这里趁着脑子还清醒就把代码敲出来了: 亲测是没有bug的,欢迎大家来找虫。clear all close all clc%% initialization % input x & y x1 = [1 3 2104]; y1 = 400; x2 = [1 3 1600]; y2 = 330; x3 = [1 3 2400]; y3 = 369;_matlab实现bgd

如何才能快速进入IT行业,就业前景如何?-程序员宅基地

文章浏览阅读329次。  IT行业都有哪些职位?如何才能快速进入IT行业?IT发展前景以及加入该行业的门槛是什么?如果我没理解错的话,零基础小白想弄明白的就是这三个问题。接下来是科普时间:  至于IT行业职位这个问题,IT行业的岗位大概分为研发类、市场类、技术支持类、生产类、管理类,种类繁多,数不过来的。  我不知道你是不是想走技术路线,也就是我们常听说的“程序猿”。是的话大概就是什么Python开发工程师,软件开发,web前端开发,web后端开发,网络工程师,软件工程师,游戏开发,运维工程师......诸如此类。

Trojan.Win32.Scar.cjdy分析_win32 trojan详细分析报告-程序员宅基地

文章浏览阅读3.2k次,点赞2次,收藏3次。前记: 这是很早之前分析的一个windows上的病毒程序,程序很有代表性,我当时分析的也很细致。最近在整理文档时发现了它,感觉还是有分享的价值的。一、病毒标签:病毒名称:Trojan.Win32.Scar.cjdy病毒类型:下载类、感染型程序文件 MD5:2EFC5A7D29B43AD8B0C02047AF7B4ED5公开范围:完全公开危害等级:3_win32 trojan详细分析报告

spring boot 接收ajax 传递json id 数组_springboot id数组-程序员宅基地

文章浏览阅读1.1k次。1.ajaxvar info = ['1','2'];$.ajax({ url: 'xxx', type: 'POST', dataType: "json", data: JSON.stringify(info), contentType: 'application/json;charset=utf-8', success: function..._springboot id数组

grafana repeat 特性-程序员宅基地

文章浏览阅读2.6k次。1.设置变量成功后会自动复制变量值个数的的画图板 类似下图设置后是不能与预览结果的,需要保存后 切换到其他dashboard 再切换回来就可以看见了官方文档repeat说明..._grafana repeat

凸优化——无约束优化问题常用求解方法_1/2xtax-程序员宅基地

文章浏览阅读984次。无约束优化问题常用求解方法1.前情提要上一章说了线搜索下降算法的几个关键问题,确定步长和下降方向,前一章的线搜索方法主要是确定步长。这一章确定下降方向。2. 坐标轴下降法3. 最速下降法4.牛顿法5. 修正牛顿法6. 拟牛顿法..._1/2xtax