我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python3--变量,布尔值,用户交互 input,if语句,while循环

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python3--变量,布尔值,用户交互 input,if语句,while循环

python基础初识

运行python代码

print('hello world')

已经运行了第一个python程序,即:终端---->cmd----->python 文件路劲。回车搞定~


内容编码

python2解释器在加载.py文件中的代码时,会对内容进行编码(默认ascill)

而python3对内容进行编码的默认为utf-8

ASCII(美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。其最多只能用8位来表示,即2**8=256,所以,ASCII码最多只能表示256个符号。

显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所以字符和符号的编码,即:Unicode

Unicode(统一码,万国码,单一码)是一种在计算机上使用的字符编码。Unicode是为了解决传统的字符编码方案而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由16位来表示(2个字节),即:2**16==65536

注:此处说的是最少2个字节,可能更多

UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:

ascii码中的内容用1个字节保存,欧洲的字符用2个字节保存,东亚的字符用3个字节保存...


注释

单行注释:#被注释内容

多行注释:'''被注释内容''',或者"""被注释内容"""


变量

变量是什么?变量:把程序运行的中间结果临时的存在内存里,以便后续的代码调用

声明变量

name = 'sam'

上述代码声明了一个变量,变量名为:name,变量name的值为:'sam'

变量的作用:昵称,其代指内存里某个地址中保存的内容

blob.png

变量定义的规则

变量名只能是字母,数字或下划线的任意组合

变量名的第一个字符不能是数字

以下关键字不能声明为变量名

['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']

变量的定义要具有可描述性。

推荐定义方式

#驼峰体

UserName = 'sam'

PassWord = 123

#下划线

user_name = 'sam'

number_of_students = 100

推荐使用下划线的方式定义变量名


变量的赋值

name1 = 'zhangsan'

name2 = 'lisi'

blob.png

例子2

name1 = 'zhangsan'

name2 = name1

blob.png

定义变量不好的方式举例

变量名为中文,拼音

变量名过长

变量名词不达意


常量

常量即指不变的量,或在程序运行过程中不会改变的量

举例,年龄会变,那这就是变量,但在一些情况下,他的年龄不会变了,那就是常量。在python中没有一个专门的语法代表常量,程序员约定俗用变量名全部大写代表常量

USERNAME = 'sam'


程序交互

#将用户输入的内容赋值给name变量

name = input("输入用户名:")

#打印输入的内容

print(name)

执行脚本就会发现,程序会等待你输入姓名后往下继续走

可以让用户输入多个信息,如下

name = input("你的名字?")

age = input("你的年龄?")

hometown = input("你的家乡?")

print("你好!",name,"今年",age,"来自",hometown)


基础数据类型(初始)

什么是数据类型?

我们可以很容易的分清数字与字符的区别,但是计算机并不能,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汗”是文字,否则它是分不清楚1和“汗”的区别,因此,在每个编程语言里都会有一个叫数据类型的东西,其实就是对常用的各种数据类型进行了明确的划分,你想让计算机进行数值运算,你就传给它数字,你想让它处理文字,就传字符串类型给它

python常用的数据类型有多种,今天只讲3种,数字,字符串,布尔类型

整数类型(int)

int(整型),即数字

long(长整型)

自从python2.2起,如果整数发生溢出,python会自动将整数转换为长整数

在python3里不再有long类型了,全部是int

除了int和long之外,其实还有float浮点,复数型


字符串类型(str)

在python中,加了引号的字符都被认为是字符串!

name = "sam" #双引号

age = '22'        #只要加引号就是字符串

age = 22          #int

msg = '''my name is sam, I am 22 years old!'''    #3个引号也可以

hometown = 'shandong'   #单引号也可以

那单引号,双引号,多引号有什么区别呢?单双引号木有任何区别,只有下面这种情况你需要考虑单双的配合

msg = "my name is sam, I'm 22 years old!"

多引号什么作用呢?作用就是多行字符串必须用多引号

msg = '''

床前明月光,

疑是地上霜,

举头望明月,

低头思故乡。

'''

print(msg)


字符串拼接

数字可以进行加减乘除等运算,字符串呢?也能,但只能进行“相加”和“相乘”运算。

name = 'sam'

age = '22'

name + age #相加其实就是简单拼接

结果:'sam22'

name * 10 #相乘其实就是复制自己多少次,再拼接一起

'samsamsamsamsamsamsamsamsamsam'

注意,字符串的拼接只能是双方都是字符串,不能跟数字或其它类型拼接

blob.png

布尔值(True,False)

布尔类型很简单,就两个值,一个True(真),一个False(假),主要用逻辑判断

举例,现在有两个值,a=3,b=5,我说a>b,你说成立吗?我们当然知道不成立,但问题是计算机怎么去描述这不成立呢?或者说a<b是成立,计算机怎么描述这是成立呢?

没错,答案就是,用布尔类型

a=3

b=5

a > b #不成立就是False,即假

False

a < b #成立就是True,即真

True


格式化输出

现有一练习需求,问用户的姓名,年龄,工作,爱好,然后打印成以下格式

---------info of sam----------

Name     : sam

Age        : 22

Job         : Teacher

Hobbie  : girl

-------------end--------------

你怎么实现呢?你会发现,用字符拼接的方式很难实现这种格式化的输出,所以来学一下新方法

只需要把要打印的格式先准备好,由于里面的一些信息是需要用户输入的,你没办法预先知道,因此可以先放置个占位符,再把字符串里的占位符与外部的变量做个映射关系就好了

#!/usr/bin/env python
#coding: utf-8
__author__ = 'www.py3study.com'
name = input("Name : ")
age = input("Age : ")
job = input("Job : ")
hobbie = input("Hobbie : ")

info = '''
------------info of %s-------------- #这里的每个{}就是一个占位符,本行的代表,后面括号里的name
Name   : %s  #代表name
Age    : %s  #代表age
Job    : %s  #代表job
Hobbie : %s  #代表hobbie
---------------end------------------
''' % (name,name,age,job,hobbie)  #这行的.format就是把前面的字符串与括号后面的变量关联起来
print(info)

%s就是代表字符串占位符,除此之外,还有%d,是数字占位符,如果把上面的age后面的换成%d,就代表你必须只能输入数字啦

问题:现在有这么行代码

msg = "我是%s,年龄%d,目前学习进度为80%" % ('张三',18)

print(msg)

这样会报错的,因为在格式化输出里,出现%默认为就是占位符的%,但是我想在上面一条语句中最后的80%就是表示80%而不是占位符,怎么办?

方法一

msg = "我是%s,年龄%d,目前学习进度为80%%" % ('张三',18)

print(msg)

这样就可以了,第一个%是对第二个%的转义,告诉python解释器这只是一个单纯的%,而不是占位符。


方法二

msg = "我是{},年龄{},目前学习进度为80%".format('张三',18)

print(msg)


基本运算符

运算符

计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算,比较运算,逻辑运算,赋值运算,成员运算,身份运算,位运算,今天只学习算数运算,比较运算,逻辑运算,赋值运算

算数运算

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

blob.png

比较运算

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

blob.png

赋值运算

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

blob.png

逻辑运算

blob.png

针对逻辑运算的进一步研究

1.在没有()括号的情况下not优先级高于and,and优先级高于or,即优先级关系为

()>not>and>or,同一优先级从左往右计算

例题:

判断下列逻辑语句的True,False

>>> 3>4 or 4<3 and 1==1

False

>>> 1<2 and 3

True

>>> 2>1 and 3

True

>>> 1>2 and 3

False

>>> 1>1 and 3

False

>>> not 2>1 and 3

False

>>>


2. x or y, x为真,值就是x,x为假,值是y;

x and y,x为真,值是y,x为假,值是x。

blob.png

例题:求出下列逻辑语句的值

>>> 8 or 4

8

>>> 0 and 3

0

>>> 0 or 4 and 3 or 7 or 9 and 6

3

>>> 


in, not in:

判断子元素是否在原字符串(字典,列表,集合)中

例如

>>> print('喜欢' in 'abcd喜欢abcd')

True

>>> print('a' in 'bcdef')

False

>>> print('y' not in 'abcdefg')

True

>>>


流程控制之--if

假如把写程序比做走路,那我们到现在为止,一直走的都是直路,还没遇到过分叉口,想象现实中,你遇到了分叉口,然后你决定往哪走必然是有所机动的。你要判断那条岔路是不是你要走的路,如果我们想让程序也能处理这样的判断怎么办?很简单,只需要在程序里预设一些条件判断语句,满足哪个条件,就走哪条岔路,这个过程就叫流程控制。

if...else 语句

单分支

if 条件:

    满足条件后要执行的代码


双分支

if 条件:

    满足条件执行代码

else:

    if条件不满足就走这段


age = 48

if age > 50:

    print('上了年纪!')

else:

    print('还很年轻!')


缩进

这里必须要插入这个缩进的知识点

你会发现,上面的if代码里,每个条件的下一行都缩进了4个空格,这是为什么呢?这就是python的一大特色,强制缩进,目的是为了程序知道,每段代码依赖哪个条件,如果不通过缩进来区分,程序怎么会知道,当你的条件成立后,去执行哪些代码呢?

在其它的语言里,大多通过{}来确定代码块,比如C,C++,Java,Javascript都是这样,在有{}来区分代码块的情况下,缩进的作用就只剩下让代码变得整洁了

python是门超级简洁的语言,发明者定是觉得用{}太丑了,所以索性直接不用它,那怎么能区分代码块呢?答案就是强制缩进

python的缩进有以下几个原则:

1.顶级代码必须顶行写,即如果一行代码本身不依赖于任何条件,那它必须不能进行任何缩进

2.同一级别的代码,缩进必须一致

3.官方建议缩进用4个空格,当然你也可以用2个,如果你不想被人笑话的话!


多分支

回到流程控制上来,if...else...可以有多个分支条件

if 条件:

    满足条件执行的代码

elif 条件:

    上面的条件不满足就走这个

elif 条件:

    上面的条件不满足就走这个

elif 条件:

    上面的条件不满足就走这个

else:

    上面所有的条件不满足就走这段


写个猜年龄的游戏吧

age = 48
guess = int(input(">>:"))
if guess > age:
    print("猜的太大了,往小里试试...")
elif guess < age:
    print("猜的太小了,往大里试试...")
else:
    print("恭喜你,猜对了...")

上面的例子,根据你输入的值不同,会最多得到3种不同的结果

再来个匹配成绩的小程序吧,成绩有ABCDE 5个等级,与分数的对应关系如下

A 90-100

B 80-89

C 60-79

D 40-59

E 0-39

要求用户输入0-100的数字后,你能正确打印他的对应成绩

score = int(input("输入分数:"))
if score > 100:
    print("最高才100分...")
elif score >= 90:
    print("A")
elif score >= 80:
    print('B')
elif score >= 60:
    print("C")
elif score >= 40:
    print("D")
else:
    print("太笨了...")

这里有个问题,就是当我输入95的时候,它打印的结果是A,但是95明明大于第二个条件elif score >=80:这里为什么不打印B呢?这是因为代码是从上到下依次判断,只要满足一个,就不会再往下走了,这一点一定要记住!


流程控制之--while循环

基本循环

while 条件:

    #循环体

    #如果条件为真,那么循环体则执行

    #如果条件为假,那么循环体不执行


循环终止语句

如果在循环的过程中,因为某些原因,你不想继续循环了,怎么把它终止掉呢?这就用到break或continue语句

break用于完全结束一个循环,跳出循环体执行循环后面的语句

continue和break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全终止循环

例子:break

count = 0
while count <= 100: #只要count<=100就不断执行下面的代码
    print("loop",count)
    if count == 5:
        break
    count +=1 #每执行一次,就把count+1,要不然就变成死循环了,因为count一直是0
print('---out of while loop---')

输出

blob.png


例子:continue

count = 0
while count  5 and count <95: #只要count在6-9之间,就不走下面的print语句,直接进入下一次loop
        continue
    print("loop", count)
print("---out of while loop---")

输出

blob.png


while...else...

与其它语言else一般只与if搭配不同,在python中还有个while...else语句

while后面的else作用是指,当while循环正常执行完,中间没有被break终止的话,就会执行else后面的语句

count = 0
while count <= 5:
    count += 1
    print("loop",count)
else:
    print("循环正常执行完啦")
print("---out of while loop---")

输出

blob.png


如果执行过程中被break了,就不会执行else语句啦

count = 0
while count <= 5:
    count += 1
    if count == 3 :break
    print("loop",count)
else:
    print("循环正常执行完啦!")
print("---out of while loop---")

输出

blob.png


相关练习

1、使用while循环输入 1 2 3 4 5 6     8 9 10

#!/usr/bin/env python
# coding: utf-8
__author__ = 'www.py3study.com'
content = 0
while content < 10 :
    content += 1
    if content == 7:
        continue
    print(str(content) + ' ', end='')

2、求1-100的所有数的和

#!/usr/bin/env python
# coding: utf-8
# __author__ = 'www.py3study.com'
#方法1
content = 0
for i in range(1,101):
    content += i
print(content)

#方法2
content = 0
sum1 = 0
while content < 100:
    content += 1
    sum1 += content
print(sum1)


3、输出 1-100 内的所有奇数

#!/usr/bin/env python
# coding: utf-8
__author__ = 'www.py3study.com'
#方法1
content = 0
while content < 100:
    content += 1
    if content % 2  == 1:
         print(str(content) + ' ', end='')
    else:
         pass

#方法2
for i in range(1,100):
    if i % 2 == 1:
        print(str(i) + ' ', end='')
    else:
        pass


4、输出 1-100 内的所有偶数

#!/usr/bin/env python
# coding: utf-8
__author__ = 'www.py3study.com'
#方法1
content = 0
while content < 100:
    content += 1
    if content % 2  == 0:
         print(str(content) + ' ', end='')
    else:
         pass
    
#方法2
for i in range(1,100):
    if i % 2 == 0:
        print(str(i) + ' ', end='')
    else:
        pass


5、求1-2+3-4+5 ... 99的所有数的和

#!/usr/bin/env python
# coding: utf-8
__author__ = 'www.py3study.com'
#方法1
count = 0
sum1 = 0
while count < 99:
    count += 1
    if count % 2 == 1:
        sum1 += count
    else:
        sum1 -= count
print(sum1)

#方法2
sum2 = 0
for i in range(1,100):
    if i % 2 == 1:
        sum2 += i
    else:
        sum2 -= i
print(sum2)


6、用户登陆(三次机会重试)

#!/usr/bin/env python
# coding: utf-8
__author__ = 'www.py3study.com'
username = 'Sam'
password = 123456
number = 0
while number < 3:
    number += 1
    username_temporary = input('输入账号:')
    password_temporary = int(input('输入密码'))
    if username_temporary == username and password_temporary == password :
        print('登录成功')
        break
    else:
        print('账户名或密码错误!')
    print("你还有{}次机会".format(3-int(number)))


7、等待用户输入内容,检测用户输入内容中是否包含敏感字符?如果存在敏感字符提示“存在敏感字符请重新输入”,并允许用户重新输入并打印。敏感字符:"小粉嫩"、"大铁锤"

#!/usr/bin/env python
# coding: utf-8
__author__ = 'www.py3study.com'
keyword = ["小粉嫩","大铁锤"]
while True:
    comment = input('请输入评论:')
    for filter_word in keyword:
        if filter_word in comment:
            print('评论含有敏感词,请重新输入!')
            break
    else:
        print('提交成功!')
        break

8、写代码:计算 1 - 2 + 3 ... + 99 中除了88以外所有数的总和?

#!/usr/bin/env python
# coding: utf-8
__author__ = 'www.py3study.com'
count = 0
the_sum = 0
while count < 99:
    count += 1
    if count == 88:
        continue
    if (count % 2) == 0:
        the_sum -= count
    else:
        the_sum += count
 
print(the_sum)

9、制作趣味模板程序需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实 如:敬爱可亲的xxx,最喜欢在xxx地方干xxx

#!/usr/bin/env python
# coding: utf-8
__author__ = 'www.py3study.com'
name = input('请输入你的姓名:')
addres = input('请输入你的地点:')
hobby = input('请输入你的爱好:')
msg = '''
敬爱可亲的{}
最喜欢在{}
地方干{}
'''.format(name,addres,hobby)
print(msg)



免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python3--变量,布尔值,用户交互 input,if语句,while循环

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python3--变量,布尔值,用户交互 input,if语句,while循环

python基础初识运行python代码print(hello world)已经运行了第一个python程序,即:终端---->cmd----->python 文件路劲。回车搞定~内容编码python2解释器在加载.py文件中的代码时,会对
2023-01-30

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录