Pyhton编程(二)之变量、用户输入及条件语句
1、 变量
Python中的变量概念很好理解,变量其实就是某个数值的“名字”。
变量定义的规则:
(1) 只能由数字、字母、下划线组成(不能以数字开头)
(2) 不能使用关键字作为变量名
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield'] ,这些关键字作为了解,不需要死记,当使用Python解释器编写代码的过程中,如果误用关键字作为变量名,解释器会自动标红该变量名以做提示。
(3) 最好不要使用Pyhton的内置函数作为变量名
在Python中,有很多内置函数,它们的用法和功能已经写好,用的时候直接调用就可以了,如果将变量与内置函数定义成同一个名字,难免会出现一些意想不到的错误。看下面这个例子:
print(sum([1,2,3])) //调用内置函数sum,求和
运行结果:
6
如果将sum作为变量名并赋予了一个其它的值,在用sum内置函数进行求和操作的话:
sum = 123 //将sum作为变量名,并给它赋值为123
print(sum([11,22])) //调用内置函数sum,求和
运行结果:
程序报错:TypeError: 'int' object is not callable
再次执行此程序会发现程序报错了:“TypeError: 'int' object is not callable”,这是因为将sum作为变量名并赋值了之后,下面的程序在调用sum的时候会先找到该变量而不是先去找Python的内置函数sum(),所以最好不要用内置函数作为变量名使用。
在上面这个代码中,类似于sum = 123 形式的 变量名 = 值这样的操作称为赋值,也可以理解为:将某个值绑定到了某个变量上,变量在被赋值后,就可以在表达式中使用该变量,变量可以理解为一个昵称,来代指在内存中某个地址中的内容
2、 用户输入
程序是为了满足人们的需求来供人使用的,当一个用户在调用程序的时候,赋值给某个变量的值是不确定的,为了将无法预测的值赋值给指定的变量以便后面的程序可以调用该变量,就要用到input()函数。
input():永远等待,直到用户输入了一个值,该程序才会继续执行,并将输入的值赋值给某一个变量。
以大家最熟悉的用户登陆过程为例:提示用户输入用户名和密码,如果输入正确输出“Welcome”,输入错误输出“Failed”,代码如下:
如上述的代码实例,通过input()函数获取到了用户的实时输入。
但还存在一个小问题:通过上面的代码,用户在输入密码的时候是明文的,如果想设置密码为密文,就需要getpass模块。模块的概念稍后会讲到。
username = "root" //定义正确的用户名和密码
password = "root"
"""调用input()函数提示用户输入,输入的值赋值给Personname和Personpasswd,如果没有输入,程序将停滞,不会继续向下执行"""
Personname = input("Please enter your username:")
Personpasswd = input("Please enter your password:")
"""判断用户输入的用户名和密码是否与正确的用户名和密码相同"""
if Personname == username and Personpasswd == password:
print("Welcome")
else:
print("Failed")
3、 模块导入
Python通过导入模块来扩展自己的功能。导入模块通过import关键字,主要有以下4种方式:
import os //导入os模块
from os import mkdir //导入os模块中的mkdir函数
from os import mkdir,rmdir //导入os模块中的mkdir,rmdir函数,用逗号分隔
from os import * //导入os模块中的一切
还有一种重命名的方法,如果需要导入的两个模块中都有mkdir方法,可以使用import+模块名+as+自定义模块名的方式来进行区分。
from moudle1 import mkdir as test1 //将moudle1模块中的mkdir函数重命名为test1
from moudle2 import mkdir as test2 //将moudle2模块中的mkdir函数重命名为test2
通过test1.xxx和test2.xxx的方式调用。
4、 条件语句
- if 语句
if 条件语句用来进行判断,如下所示为if条件语句的基本结构:
if条件:
内部代码块
通过 if+表达式的方式来对所写的表达式进行真假判断,如果判定为真,执行后面的代码块。如果为假,该代码块不会被执行。
- if..else语句
当进行if条件判断时,如果判定为真和判定为假都有不同的输出,就需要使用if..else语句。
if 条件:
内部代码块1
else:
内部代码块2
如上的代码结构所示,通过if ..else语句如果判定的条件为真,就执行内部代码块1,否则会执行内部代码块2
- if..elif..else语句
如果对于多种条件的判定,都会有不同的返回结果,使用if..eles语句很显然是不行的,它仅仅能返回真或假两种结果,所以为了适用于多种判定,就需要使用if..elif..else语句,如下所示:
if 条件:
内部代码块1
elif 条件:
内部代码块2
……
else:
内部代码块3
可以在中间插入无数多个elif条件来对多种判定条件进行判断,并得到相应的返回结果
- if条件语句的嵌套
if条件1:
if条件2:
内部代码块1
else:
内部代码块2
else:
内部代码块3
在写if嵌套语句的时候一定要注意代码的缩进问题,所以初步学习的时候不建议加多个嵌套,否则很容易出现逻辑混乱甚至导致程序运行出错。
下面通过一个简单的小例子来演示下if语句的用法
应用场景:
(1) 输入用户名,判断该用户名是否正确,如果正确,则进入该用户,否则输出“Username does not exist”
(2) 如果用户名正确,提示用户输入密码,如果密码输入正确,输出“welcome”,否则输出“password input error”
username = "czp"
password = ""
login_user = input("Please enter your username:")
if login_user == username:
login_passwd = input("Please enter your password:")
if login_passwd == password:
print("welcome")
else:
print("password input error")
else:
print("Username does not exist")
5、 循环语句
上面写到的用户登陆例子中,程序执行一次就会终止了,在很多时候,我们登陆的时候,难免会输错密码或忘记密码,输错一次就不允许再次输入,就很不符合实际的应用场景,如果想让其重复执行,就需要用到while循环语句。
- 基本while循环
while 条件:
# 循环体
# 如果条件为真,那么循环体则执行
# 如果条件为假,那么循环体不执行
当有一个需求是打印0-10的时候,可以用这样的方式:
print(0)
print(1)
………
print(10)
如果用循环的话,就更方便了
i=0
while i < 11:
print(i)
i+=1
- break
while True:
print ""
break //当输入break时,就退出所有循环
print ""
- continue
while True:
print ""
continue //当输入continue,退出当前循环,继续下一次的循环
print ""
continue和break的区别就是:虽然都是退出当前循环,continue是继续执行程序,也就是说程序依旧在运行,而break就是直接跳出程序,程序终止。
6、 if/while 语句练习
1)使用while循环输出 1 2 3 4 5 6 8 9 10(注意:没有7)
n = 0
while n < 11:
if n ==7:
pass
else:
print(n)
n+=1
2) 求1-100的所有数的和
n = 1
s = 0
while n < 101:
s += n
n +=1
print(s)
3)输出 1-100 内的所有奇数
n = 1
while n < 101:
if n%2 != 0:
print(n)
n+=1
4)求1-2+3-4+5 ... 99的所有数的和
n = 1
s = 0
while n < 101:
if n%2 != 0:
s = s + n
else:
s = s - n
n+=1
print(s)
5) 用户登陆,登陆成功提示Welcome,登陆失败提示Failed,只有三次机会,三次输入错误,自动退出程序
user="czp"
n=0
while n<3:
user1=input("请输入您的用户名:")
if user1==user:
print("Welcome")
break
else:
print("Failed")
n+=1
Pyhton编程(二)之变量、用户输入及条件语句的更多相关文章
- GO语言的基本语法之变量,常量,条件语句,循环语句
GO语言的基本语法之变量,常量,条件语句,循环语句 作为慕课网得笔记自己看 定义变量: 使用var关键字 var a, b, C bool var s1, s2 string = "hell ...
- 第七章 用户输入和while语句
大多数编程都旨在解决最终用户的问题,为此通常需要从用户那里获取一些信息.例如,假设有人要判断自己是否到了投票的年龄,要编写回答这个问题的程序,就需要知道用户的年龄,这样才能给出答案.因此,这种程序需要 ...
- Python基础-1 python由来 Python安装入门 注释 pyc文件 python变量 获取用户输入 流程控制if while
1.Python由来 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚 ...
- python学习道路(day1note)(变量,注释,用户输入,格式化输出,if,while,for循环并扩展练习)
python是一门动态解释性的强类型定义语言,其应用范围非常之广 1:进入python语言 #!/usr/bin/env python #_*_coding:utf-8_*_ print(" ...
- c编程:提示用户输入一个0—9的数字进行猜测电脑产生的随机数。一共有三次机会。
// // main.c // 使用c语言进行编程: 题目:由电脑生成一个由0-9之间的随机数,提示用户也输入一个数字进行猜测.当猜测三次仍不中的时候结束程序. 编译环境:Xcode6.3 特别介 ...
- day1(变量、常量、注释、用户输入、数据类型)
一.变量 name = "SmallNine" 等号前面是变量名(标识符),等号后面是变量值 变量的主要作用:就是把程序运算的中间结果临时存到内存里,已备后面的代码继续调用. 变量 ...
- Python编程从入门到实践笔记——用户输入和while循环
Python编程从入门到实践笔记——用户输入和while循环 #coding=utf-8 #函数input()让程序暂停运行,等待用户输入一些文本.得到用户的输入以后将其存储在一个变量中,方便后续使用 ...
- Python之路 day1 基础1 变量 for while 用户输入
一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为AB ...
- shell编程中用户输入处理(shell 04)
shell编程中用户输入处理1.命令行参数2.脚本运行时获取输入 命令行参数 通过空格来进行分割的位置参数 :$+position $0,$1,$2 ....$0 :程序名$1,$2,$3 ... $ ...
随机推荐
- 【2017集美大学1412软工实践_助教博客】团队作业4——第一次项目冲刺(Alpha版本)小组 成绩
第四次团队作业成绩公布 题目 团队作业4: http://www.cnblogs.com/happyzm/p/6722264.html 团队成绩 成绩公示如下: 检查项 会议内容 代码签入 心得体会或 ...
- 团队作业4--第一次项目冲刺(Alpha版本) 5
一.Daily Scrum Meeting照片 二.燃尽图 三.项目进展 对前两天完成的功能进行整合 测试完成功能(测试算法是否有bug,界面设计是否人性化,适合用户使用.) 四.困难与问题 在对前两 ...
- 【Alpha】第六次Daily Scrum Meeting
一.今日站立式会议照片 二.会议内容 1.具体讨论了各个功能模块如何实现所使用的函数方法,以及确定各功能编写的详易与主次之分.其中对礼物挑选的各个分类条件做了修改与确认.并考虑邀请同学对已构建出的简易 ...
- 3rd-Bing Dict使用分析
英语学习APP的案例分析 0x00 写在前面 我们生活中很多时候要和软件打交道,大家上课开小差时候玩的手机游戏,买火车票的网站,互相联系用的微信.QQ,等等都是软件,都很值得分析.你为何成为它们的用户 ...
- 201521123063 《JAVA程序设计》 第5周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 1.2 可选:使用常规方法总结其他上课内容. 上周学习了继承和多态,满足is-a条件,但是发现会导致继承的滥用,如果只是但以的 ...
- 201521123054 《Java程序设计》第5周学习总结
1. 本周学习总结 2. 书面作业 作业参考文件下载 代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误.并分析输出 ...
- 201521123045 《Java程序设计》第2周学习总结
---恢复内容开始--- #1. 本周学习总结 上课讲解了上次的实验题目,对其中题目的一些问题得到了解决.学会了java数组的使用,对如何使用码云上传代码有了更清晰的理解.pta还是有一些问题没有解决 ...
- 杨晨露 Java 第一周总结
1.学习内容总结 (1)Integer类在对象中包装了一个基本类型int的值.Integer类型的对象包含一个int类型的字段.该类提供了多个方法,能在int类型和String类型之间互相转换,还提供 ...
- sublime text 按下Ctrl + B 显示空白的解决办法
环境:windows xp , sublime text 2 条件:环境变量也已经设置好,可是无论怎么编译都是空白,如图: 于是鄙人百度之,发现不少网友都有这样的问题,但是网上给出的的解决方案千篇一律 ...
- 软件测试的cookie测试
1.什么是cooike测试 Cookie是指网站用于辨别身份,进行会话(session)跟踪而存储在客户端的数据.它是有服务器产生并发送给客户端的.其用途是提供一个方便的功能以简化用户输入,节省访问页 ...