python基础之流程控制

python流程控制

python的流程控制跟大多数的语言一样,包括if条件语句、for循环语句、while循环语句;跳出循环continue,break等

写在前面

python中的运算

1)算数运算

以下假设变量:a=10,b=20:

 

2)比较运算

3)赋值运算

4)位运算

以下假设变量:a=60,b=13,对应二进制为a=0011 1100;b=0000 1101

5)逻辑运算

Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:

6)成员运算,身份运算

除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。

身份运算符用于比较两个对象的存储单元

补充运算符的优先级

我们一般知道大概就行,在不确定优先级的情况下可以用()来规定优先级,括号里的优先级大于外面的!

if条件判断

单支
if 条件: 执行语句
多支
if 条件: # 条件成立 执行下方缩进里的执行语句
  执行语句
elif 条件:  # elif非必须的,当多个条件时可以使用多个elif,执行跟if一样
  执行语句
else# 上面条件都不成立,执行执行语句

示例:

基本条件判断if:

# 如果:年龄>30岁,那么:叫阿姨
age_of_girl = 31
if age_of_girl > 30:print('阿姨好')

 if……else……

# 如果:年龄>30岁,那么:叫阿姨
# 否则:叫小姐姐
age_of_girl = 31
if age_of_girl > 30:print('阿姨好')
else:print('小姐姐')

if……elif……else

# 如果:年龄>30岁,那么:叫阿姨
# 如果:18<年龄<=30, 叫小姐姐
# 否则:叫小屁孩
age_of_girl = 20
if age_of_girl > 30:print('阿姨好')
elif 18 < age_of_girl <= 30:print('小姐姐')
else:print('小屁孩')

条件组合

# 如果18<年龄<25并且身高>165并且体重<100并且漂亮就撩
# 否则:阿姨好
age = 22
height = 170
weight = 99
is_pretty = True
if age >= 18 and age <= 25 and height > 165 and weight < 100 and is_pretty:print('撩一下')
else:print('阿姨好')

if嵌套

# 在上面基础上
# 如果撩成功了   在一起
# 否则           开个玩笑
age = 22
height = 170
weight = 99
is_pretty = True
success = True
if age >= 18 and age <= 25 and height > 165 and weight < 100 and is_pretty:if success:print('在一起')else:print('开玩笑的')
else:print('阿姨好')

简单示例:

用户登录

 1 userinfo = {            # 用字典存储用户信息,以后会经常用到
 2     'name': 'zhow',
 3     'pwd': '123456'
 4 }
 5 name = input('请输入用户名:').strip()  # input让用户输入
 6 pwd = input('请输入密码:').strip()
 7 if name == userinfo['name'] and pwd == userinfo['pwd']:
 8     print('登录成功')
 9 else:
10     print('用户名或密码错误')
View Code

for循环语句

python中的for循环可循环一切可迭代的对象,包括字符串,列表,字典等,以及后面介绍迭代器和可迭代对象等。

基本格式

for i in range(10):  # range(10)生成一个列表从0开始print(i)

其他示例:

s = 'I love python'
for i in s:print(i)l = [1, 2, 3, 4, 5, 6, 7]
for i in l:print(i)d = {'name': 'zhow', 'age': 18}
for k, v in d.items():print(k, v)

while循环语句

基本格式

while 条件:   # 循环体# 如果条件为真,那么循环体继续执行,执行完毕后再次循环,重新判断条件。。。# 如果条件为假,那么循环体不执行,循环终止

基本使用

# 打印数字,奇数,偶数
# i = 0
# while i < 10:
#     print('loop',i)  
#     i += 1# while i < 10:
#     if i % 2 == 0:  # 对2取余来判断是否为偶数
#         print('loop', i)
#     i += 1# while i < 10:
#     if i % 2 == 1:
#         print('loop', i)  # 对2取余来判断是否为奇数
#     i += 1

死循环

while条件一直成立,并且循环体内没有跳出语句。

import time
i = 0
while True:print(i)i = i + 1time.sleep(1)  # 让程序睡眠一秒,就是暂停一秒

break使用

break跳出循环,结束循环

while True:name = input('请输入您的名字:')pwd = input('请输入您的密码:')if name == 'user' and pwd == '123':print('登录成功')break        #  跳出循环else:print('登录失败')

continue使用

continue结束本次循环进入下次循环

n = 1
while n <= 5:if n == 4:n += 1continueprint(n)n += 1

while+tag====》》》True和False

tag = True
while tag:print('第一层')while tag:print('第二层')while tag:cmd = input('第三层>>:')if cmd == 'q':tag = Falsebreak

练习示例

1)打印金字塔

 1 # 方法一
 2 n = int(input('您要打印的层数:').strip())  # 默认输入是字符串需要转换成整数
 3 n = n * 2
 4 i = 1
 5 while i <= n:
 6     print((i*'x').center(n, ' '))
 7     i += 2
 8 
 9 # 方法二
10 n = int(input('您要打印的层数:').strip())  # 默认输入是字符串需要转换成整数
11 n = n * 2
12 for i in range(n):
13     if i % 2 == 1:
14         print((i*'x').center(n, ' '))
View Code

2)打印乘法口诀

i = 1
while i < 10:j = 1while j <= i:print(str(i) + 'x' + str(j) + '=' + str(i*j), end='\t')j += 1print()i += 1for i in range(10):for j in range(1, i+1):print(str(i) + 'x' + str(j) + '=' + str(i * j), end='\t')print()# end = '\t'代表打印了不换行   输出一个tab   默认是end = '\n'
View Code

乘法口诀装13写法

print('\n'.join([' '.join(['%s*%s=%-2s' % (j, i, i * j) for j in range(1, i + 1)]) for i in range(1, 10)]))

综合示例

猜数字

给定一个数字,你猜小了提示你小了,猜大了提示大了,刚好猜中提示中了并退出,总共可以猜3次,超出次数提示超过次数

 1 num=56
 2 for i in range(3):
 3     guess_num = int(input('输入你猜的数字:'))
 4     if guess_num == num:
 5         print('恭喜你猜对了')
 6         break
 7     elif guess_num > num:
 8         print('你猜的数字大了')
 9     else:
10         print('你猜的数字小了')
11 else:
12     print('你猜的次数过多,game over')
View Code
 1 num=56
 2 count = 3
 3 while True:
 4     if count == 0:
 5         print('你猜的次数过多,stupid')
 6         break
 7     guess_num = int(input('输入你猜的数字:'))
 8     if guess_num == num:
 9         print('恭喜你猜对了')
10         break
11     elif guess_num > num:
12         print('你猜的数字大了')
13     else:
14         print('你猜的数字小了')
15     count -= 1
View Code

 

转载于:https://www.cnblogs.com/zhowhen/p/9746711.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/485011.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【剑指offer】面试题38:字符串的排列(Java)

输入一个字符串&#xff0c;打印出该字符串中字符的所有排列。 你可以以任意顺序返回这个字符串数组&#xff0c;但里面不能有重复元素。 示例: 输入&#xff1a;s "abc" 输出&#xff1a;["abc","acb","bac","bca","…

从自动驾驶汽车开始,机器学习开始与物理世界交互

大数据文摘出品来源&#xff1a;Wired编译&#xff1a;王烨今天&#xff0c;有许多人工智能与我们互动的例子&#xff0c;使我们的生活的效率更高。智能体向我们通过电子商务网站向我们推荐产品&#xff0c;通过社交媒体为我们推荐新闻&#xff0c;通过交友应用向我们推荐朋友&…

Leetcode--全排列(Java)

给定一个 没有重复 数字的序列&#xff0c;返回其所有可能的全排列。 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ] 代码&#xff1a; class Solution { public List<List<Integer>> permute(int[] nums)…

突破!在人工染色体中存储图片和视频:天津大学元英进团队验证DNA数据存储新方法...

来源&#xff1a;中国生物技术网天津大学元英进教授团队从头编码设计合成了一条长度为254,886 bp、专用于数据存储的酵母人工染色体&#xff0c;借助无线通信中前沿的纠错编码将两张经典图片和一段视频存储于高效组装的人造染色体&#xff0c;利用酵母繁殖实现了数据稳定复制&a…

10分钟 在linux里创建.net core helloworld控制台程序

官方教程 安装linux https://www.cnblogs.com/LittleFeiHu/p/9749455.html 第一步 &#xff1a;选择和你本机适用的Linux版本&#xff0c;我这里用的是18.04. 第二步 &#xff1a;注册秘钥&#xff0c;产品仓储&#xff0c;以及安装依赖项&#xff0c;每台机器只需要注册一次&a…

leetcode--983.最低票价

在一个火车旅行很受欢迎的国度&#xff0c;你提前一年计划了一些火车旅行。在接下来的一年里&#xff0c;你要旅行的日子将以一个名为 days 的数组给出。每一项是一个从 1 到 365 的整数。 火车票有三种不同的销售方式&#xff1a; 一张为期一天的通行证售价为 costs[0] 美元…

陈天桥雒芊芊脑机接口中心等团队研究登顶刊:超声波“读心”

来源&#xff1a;澎湃新闻 作者&#xff1a;贺梨萍 脑机接口&#xff08;BMIs&#xff09;在全球的研究正如火如荼&#xff0c;神经科学家们希望通过这样一种设备将神经活动映射到相应的行为&#xff0c;它以读取和解释大脑活动&#xff0c;并向计算机或机器发送指令。实际上&a…

软工 课堂作业:选出一个整数组中最大子数组

项目计划日志 10.6 看ppt&#xff0c;熟悉内容。 10.6下午&#xff0c;开始编程调试。 10.7 运行调试&#xff0c;写博客。 时间记录日志日期开始时间结束时间中断时间净时间活动10.69:0011:0020min1.5h查资料10.78:0012:0030min3.5h查资料&#xff0c;编程10.71…

图灵奖得主 Yann LeCun 最新文章 :自监督学习,人工智能世界的“暗物质”

来源&#xff1a;AI前线作者&#xff1a;Yann LeCun &#xff0c;Ishan Misra译者&#xff1a;王强策划&#xff1a;刘燕近年来&#xff0c;AI 产业在开发“可以从大量经过细致标记的数据中学习的 AI 系统”这个研究领域上取得了巨大进步。这种监督学习的范式在训练专业模型方面…

Leetoce--572. 另一个树的子树(java)

给定两个非空二叉树 s 和 t&#xff0c;检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。 示例 1: 给定的树 s: 3 / \ 4 5 / \ 1 2 给定的树 t&#xff1a; 4 / \ 1…

Linux 安装Python37

1、下载python3.7.0 https://www.python.org/downloads/release/python-370/ 2、创建Linux的python37目录 mkdir /usr/local/python37 3、解压python3.7.0源码 tar zxvf python3.7.0.tar.zg 4、配置编译参数 ./configure --prefix/usr/local/python37 5、make 6、make install …

无脑人:我们真的需要大脑吗?

© Mental Floss来源&#xff1a;神经科技编辑&#xff1a;Yezi审阅&#xff1a;mingzlee7在一次讨论中&#xff0c;有位德高望重的人&#xff08;我不会透露这个人是谁&#xff09;告诉我&#xff1a;“我认为自我存在于心脏&#xff01;而不是大脑&#xff01;那些声称意…

get和post的联系与区别

get和post是什么&#xff1f;HTTP协议中的两种发送请求的方法。 那么他们有什么区别呢&#xff1f; 在web开发时&#xff0c;我们可以很直观的看到他们的区别&#xff1a; 1.get将参数放入URL中&#xff0c;而post则通过request body传递参数 2.get比post更不安全&#xff…

JS数组的需要注意的问题

一、在js中数组是我们经常使用的数据类型&#xff0c;也为我们提供了很多方法。但是有些方法需要注意使用&#xff1a; 1、indexOf(args)&#xff1a;匹配一个数组中与args相等的项的索引位置&#xff0c;如果该数组包含这个匹配项则返回第一个匹配的索引&#xff0c;并停止匹配…

基金委最新改革:9大科学部整合为4个板块资助布局

来源&#xff1a;微信公众号科学网&#xff08;sciencenet-cas&#xff09;3月24日&#xff0c;国家自然科学基金委员会&#xff08;以下简称自然科学基金委&#xff09;第八届委员会第四次全体会议在北京召开。会议上&#xff0c;自然科学基金委主任、党组书记李静海作全委会工…

Leetcode--236. 二叉树的最近公共祖先(Java)

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为&#xff1a;“对于有根树 T 的两个结点 p、q&#xff0c;最近公共祖先表示为一个结点 x&#xff0c;满足 x 是 p、q 的祖先且 x 的深度尽可能大&#xff08;一个节点也可以是它自己的…

万恶之源 - Python运算符与编码

格式化输出 现在有个需要我们录入我们身边好友的信息,格式如下: ------------ info of Alex Li ----------Name : Alex LiAge : 22job : Teacher Hobbie: girl------------- end ---------------- 我们现在能想到的办法就是用一下方法: name input(请输入姓名:) age …

Leetcode--105. 从前序与中序遍历序列构造二叉树(Java)

根据一棵树的前序遍历与中序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如&#xff0c;给出 前序遍历 preorder [3,9,20,15,7] 中序遍历 inorder [9,3,15,20,7] 返回如下的二叉树&#xff1a; 3 / \ 9 20 / \ 15 7 代码&#xff1a; /**…

世界最大、最复杂的GPU!这颗集成1000亿个晶体管的芯片长什么样?

来源&#xff1a;EETOP3月25日消息 英特尔于昨日举办了直播活动&#xff0c;新上任的 CEO 帕特基辛格&#xff08;Pat Gelsinger&#xff09; 发表了演讲&#xff0c;并展示了采用 7nm 工艺的 Xe-HPC 高性能 GPU&#xff0c;代号 “Ponte Vecchio”。这款产品封装了 47 个芯片&…

携带cookie进行数据请求

前端进行数据请求有&#xff1a;普通的ajax(json)请求&#xff0c;jsop跨域请求&#xff0c;cors跨域请求&#xff0c;fetch请求...PC端这些请求方式中&#xff0c;普通的ajax(json)请求和jsop跨域请求是默认携带cookie的&#xff0c;而cors跨域请求和fetch请求默认是不携带coo…