if else流程判断

getpass在pycharm中无法使用,在命令行窗口中进入python环境可以使用。

import getpass
username = input("username:")
password = getpass.getpass("password:") print(username,password)

python中缩进错误:

为什么python中强制缩进,因为python中不需要定义结束符。省去了结束符,子代码强制缩进让结构变得更清晰。

最外层代码必须顶格写,不然就会报缩进错误。

if else基础程序举例:

实例一:判断用户名密码是否正确

_username = 'alex'
_password = 'abc123'
username = input("username:")
password = input("password:") if _username == username and _password == password:
print("Welcom user {name} login...".format(name=username))
else:
print("Ivalid username or password")

实例二:猜年龄

# 猜年龄
age_of_oldboy = 56
guess_age = int(input("guess age:"))
if guess_age == age_of_oldboy:
print("you got it!")
elif guess_age < age_of_oldboy:
print("think bigger...")
else:
print("think smaller...")

while循环

#最简单的while循环程序举例
count = 0
while True:
print("count:",count)
count = count+1 #相当于count +=1

实例一:猜年龄

#猜年龄,共猜3次,如果3次内猜对也会结束程序
age_of_oldboy = 56 count = 0
while True:
if count == 3:
break
guess_age = int(input("guess age:"))
if guess_age == age_of_oldboy:
print("you got it!")
break
elif guess_age < age_of_oldboy:
print("think bigger...")
else:
print("think smaller...")
count +=1

实例二:对实例一代码的优化

#猜年龄,共猜3次,如果3次内猜对也会结束程序
age_of_oldboy = 56 count = 0
while count < 3:
guess_age = int(input("guess age:"))
if guess_age == age_of_oldboy:
print("you got it!")
break
elif guess_age < age_of_oldboy:
print("think bigger...")
else:
print("think smaller...")
count +=1

实例三:增加人性化提示,输入3次错误密码后会得到提示:尝试太多次了。

#猜年龄,共猜3次,如果3次内猜对也会结束程序,尝试3次后得到提示:你尝试的次数过多。
age_of_oldboy = 56 count = 0
while count < 3:
guess_age = int(input("guess age:"))
if guess_age == age_of_oldboy:
print("you got it!")
break
elif guess_age < age_of_oldboy:
print("think bigger...")
else:
print("think smaller...")
count +=1
if count == 3:
print("you have tried too many times...")

实例四:对实例三程序的优化。提示代码的判断可以直接用else。

#猜年龄,共猜3次,如果3次内猜对也会结束程序,尝试3次后得到提示:你尝试的次数过多。
age_of_oldboy = 56 count = 0
while count < 3:
guess_age = int(input("guess age:"))
if guess_age == age_of_oldboy:
print("you got it!")
break
elif guess_age < age_of_oldboy:
print("think bigger...")
else:
print("think smaller...")
count +=1
else:
print("you have tried too many times...")

for循环

实例一,最简单的for循环程序

for i in range(10):
print("loop",i)

等于以下:

等于以下:
for i in range(0,10,1): #步长默认为1
print("loop",i)

i,临时变量

range,相当于定义了(0,1,2,3,4,5,6,7,8,9) 每循环一次i按顺序取值一次。

实例二:上节课中的while循环实例改为for循环:

#猜年龄,共猜3次,如果3次内猜对也会结束程序,尝试3次后得到提示:你尝试的次数过多。
age_of_oldboy = 56 for i in range(3):
guess_age = int(input("guess age:"))
if guess_age == age_of_oldboy:
print("you got it!")
break
elif guess_age < age_of_oldboy:
print("think bigger...")
else:
print("think smaller...") else:
print("you have tried too many times...")

实例三,打印10以内的偶数:

for i in range(0,10,2): #2为步长
print("loop",i)

实例四,优化while猜年龄程序

#猜年龄,共猜3次,尝试3次后询问是否继续,如果回答:n,则结束程序;其他则重新开始程序。
age_of_oldboy = 56 count = 0
while count < 3:
guess_age = int(input("guess age:"))
if guess_age == age_of_oldboy:
print("you got it!")
break
elif guess_age < age_of_oldboy:
print("think bigger...")
else:
print("think smaller...")
count +=1
if count ==3:
continue_confirm = input("do you want to keep guessing?")
if continue_confirm != "n":
count = 0

break和continue的区别,根据下面2段代码,使用debug调试功能在pycharm中运行,观察后得知

代码一:

# continue的作用是结束本次循环,不会终止for循环
for i in range(0,10):
if i <3:
print("loop",i)
else:
continue
print("hehe...")

代码二:

# break是结束当前循环
for i in range(0,10):
if i <3:
print("loop",i)
else:
break
print("hehe...")

循环嵌套

for i in range(0,10):
print("--------",i)
for j in range(10):
print(j)
if j >5:
break

查看输出:小循环输出0-6,大循环输出0-9,brake只中断当前循环。

python学习笔记(基础三:if else流程判断、while循环、for循环)的更多相关文章

  1. Python学习笔记基础篇——总览

    Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...

  2. Python学习笔记总结(三)类

    一.类简单介绍 1.介绍 类是Python面向对象程序设计(OOP)的主要工具,类建立使用class语句,通过class定义的对象. 类和模块的差异,类是语句,模块是文件. 类和实例 实例:代表程序领 ...

  3. Python学习笔记(三)字符串类型及其操作(2)

    1.字符串的表示 字符串是字符的序列表示,可以由一对单引号(‘).双引号(“)或三引号(’‘’)构成.其中,单引号.双引号和三引号都可以表示单行字符串,但是只有三引号可以表示多行字符串 在使用双引号时 ...

  4. Python学习笔记总结(一)对象和流程语句总结

    一.对象类型 1.数字 数字:不可变 2.字符串 字符串:不可原处修改[修改需要创建新的对象],有顺序,支持求长(len),合并(+),重复(*),索引S[0],分片(S[1:3]],成员测试(in) ...

  5. python学习笔记-(三)条件判断和循环

    1.条件判断语句 Python中条件选择语句的关键字为:if .elif .else这三个.其基本形式如下: age_of_cc = 27 age = int(input("guessage ...

  6. Python学习笔记-基础1

    一 初识Python python是一种面向对象.解释型的计算机程序语言.Python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特 ...

  7. Python 学习笔记---基础篇

    1. 简单测试局域网中的电脑是否连通.这些电脑的ip范围从192.168.0.101到192.168.0.200 import subprocess cmd="cmd.exe" b ...

  8. python学习笔记(三)条件判断和循环

    1.条件判断语句 Python中条件选择语句的关键字为:if .elif .else这三个.其基本形式如下: 1 2 3 4 5 6 7 8 9 age_of_cc = 27   age = int( ...

  9. Python学习day06-Python基础(4)流程控制之while和for循环

    Python学习day06-流程控制之while和for循环 Python学习day06-流程控制之while和for循环while循环1. 语法2. while+break,while+contin ...

  10. Python学习笔记——基础语法篇

    一.Python初识(IDE环境及基本语法,Spyder快捷方式) Python是一种解释型.面向对象.动态数据类型的高级程序设计语言,没有编译过程,可移植,可嵌入,可扩展. IDE 1.检查Pyth ...

随机推荐

  1. 深入浅出Redis-redis哨兵集群

    1.Sentinel 哨兵 Sentinel(哨兵)是Redis 的高可用性解决方案:由一个或多个Sentinel 实例 组成的Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所 ...

  2. J a v a 的“多重继承”

    接口只是比抽象类“更纯”的一种形式.它的用途并不止那些.由于接口根本没有具体的实施细节——也就是说,没有与存储空间与“接口”关联在一起——所以没有任何办法可以防止多个接口合并到一起.这一点是至关重要的 ...

  3. TemplateMethod(模块方法模式)

    /** * 模块模式 * @author TMAC-J * 将一个完整的算法分离,分成不同的模块 * 用于有很多步骤的时候,可能以后这些步骤还会增加,把这些步骤分离 * 将有共性的部分放在抽象类中 * ...

  4. jQuery遮罩层登录对话框

    用户登录是许多网站必备的功能.有一种方式就是不管在网站的哪个页面,点击登录按钮就会弹出一个遮罩层,显示用户登录的对话框.这用方式比较灵活方便.而现在扫描二维码登录的方式也是很常见,例如QQ.微信.百度 ...

  5. Ubuntu安装redis并配置远程、密码以及开启php扩展

    一.前言 redis是当前流行的nosql数据库,很多网站都用它来做缓存,今天我们来安装并配置下redis 二.安装并配置redis 1.安装redis sudo apt-get install re ...

  6. JavaScript的妙与乐(一)之 函数优化

    JavaScript的妙与乐系列文章主要是展示一些JavaScript上面比较好玩一点的特性和一些有用的技巧,里面很多内容都是我曾经在项目中使用过的一些内容(当然,未必所有技巧的使用频率都很高^_^) ...

  7. python实现一个控制台下的进度条

    今天写练习爬虫感觉很需要个进度条,就随手用函数实现了一个,到了晚上突然感觉到这个东西应该单独写出来以后肯定用用得着. 代码也很简单,我就不细讲了,直接上代码了. 测试代码: instance.py i ...

  8. ceph架构剖析

    unitedstack有云 :https://www.ustack.com/blog/ceph_infra/

  9. Ajax 加载数据 练习 自我有些迷糊了,写的大概请谅解 ^ _ ^

    查询表的显示,查询显示如果不嵌入PHP代码的话,用ajax怎么实现?   <h1>显示数据</h1> <table width="100%" bord ...

  10. eclipse 突然 一直在loading descriptor for XXX (XXX为工程名)Cancel Requested

    问题: eclipse 启动后,啥也不干,就一直在loading descriptor for XXX (XXX为工程名),,其他什么操作都不能操作. 如下图所示,保存文件也无法保存.  这个怎么办? ...