iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >笨办法学Python - 习题5: Mo
  • 874
分享到

笨办法学Python - 习题5: Mo

习题法学Python 2023-01-30 23:01:51 874人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

1、习题 5: 更多的变量和打印 学习目标:了解用户输入方法,明白pthon2和python3之间的用户输入的区别。了解格式化字符串(fORMat string)的概念,学会如何创建包含变量内容的字符串。使用专门的格式和语法把变量的内容放

1、习题 5: 更多的变量和打印

学习目标:了解用户输入方法,明白pthon2和python3之间的用户输入的区别。了解格式化字符串(fORMat string)的概念,学会如何创建包含变量内容的字符串。使用专门的格式和语法把变量的内容放到字符串里,然后进行格式化的打印输出。

1.1、用户输入

python3中通常使用的input() 函数直接和用户进行交互,用于等待用户的输入。

Python2中通常使用raw_input() 函数来和用户进行交互,基本上raw_input() = input() (python3中),python2中的input() 函数基本上不用,因为在Python2中input() 函数会检查用户输入的是字符还是变量,举个栗子:如果之前定义了name的值,那么name为变量,则当我们输入name的时候,会返回变量name的值,如果之前没有定义name的值则会直接报错。

1547562594689

1547562682169

所以:对于用户输入,在Python2 中使用raw_input() ,在Python3中使用 input() 即可

1.2、格式化输出

python格式化输出有两种方式:百分号和format
format的功能要比百分号方式强大,其中format独有的可以自定义字符填充空白、字符串居中显示、转换二进制、整数自动分割、百分比显示 等功能是百分号方式不能相比的

习题五中的练习代码是:

#! -*-coding=utf-8 -*-

my_name = "Zed A. shaw"
my_age = 35
my_height = 74
my_weight = 180
my_eyes = "Blue"
my_teeth = "White"
my_hair = "Brown"

print "Let,s talk about %s." % my_name

print "He's %d inches tall." % my_height

print "He's %d pounds heavy." % my_weight

print "Actually that's not too heavy."

print "He's Got %s eyes and %s hair." % (my_eyes,my_hair)

print "His teech are usually %s depending on the coffee." %  my_teeth

#this line is tricky ,try to get it exactly right
print "If I add %d, %d, and %d I get %d." % (my_age,my_height,my_weight,my_age + my_height + my_weight)

上述代码的运行结果为:

C:\Python27\python.exe D:/pythoncode/stupid_way_study/demo5/Exer5-1.py
Let,s talk about Zed A. shaw.
He's 74 inches tall.
He's 180 pounds heavy.
Actually that's not too heavy.
He's got Blue eyes and Brown hair.
His teech are usually White depending on the coffee.
If I add 35, 74, and 180 I get 289.

Process finished with exit code 0

从上面的代码可以了解到,%d 和 %s 都是占位符,顾名思义,就是提前占个位置,后面在用%后面的值来替换该占位符,将值放到正确的位置上。

注意:

  • %d: 将整数、浮点数转换成 十 进制表示,并将其格式化到指定位置
  • %s: 获取传入对象的__ str __方法的返回值,并将其格式化到指定位置

同理还有%f, %o %g 等占位符。这里就不一一赘述了。

2、加分习题:

  1. 修改所有的变量名字,把它们前面的my_去掉。确认将每一个地方的都改掉,不
    只是你使用=赋值过的地方。
  2. 试着使用更多的格式化字符。例如 %r 就是是非常有用的一个,它的含义是“不管什
    么都打印出来”。
  3. 在网上搜索所有的 Python 格式化字符。
  4. 试着使用变量将英寸和磅转换成厘米和千克。不要直接键入答案。使用 Python 的
    计算功能来完成。

3、我的答案

3.1、修改所有的变量名字,把它们前面的my_去掉

#! -*-coding=utf-8 -*-

name = "Zed A. shaw"
age = 35
height = 74
weight = 180
eyes = "Blue"
teeth = "White"
hair = "Brown"

print "Let,s talk about %s." % name

print "He's %d inches tall." % height

print "He's %d pounds heavy." % weight

print "Actually that's not too heavy."

print "He's got %s eyes and %s hair." % (eyes,hair)

print "His teech are usually %s depending on the coffee." %  teeth

#this line is tricky ,try to get it exactly right
print "If I add %d, %d, and %d I get %d." % (age,height,weight,age + height + weight)
C:\Python27\python.exe D:/pythoncode/stupid_way_study/demo5/Exer5-2.py
Let,s talk about Zed A. shaw.
He's 74 inches tall.
He's 180 pounds heavy.
Actually that's not too heavy.
He's got Blue eyes and Brown hair.
His teech are usually White depending on the coffee.
If I add 35, 74, and 180 I get 289.

Process finished with exit code 0

上述代码去掉前面的“my_”, 并未发现问题。

3.2、使用%r 格式化字符

举个栗子:

1547565218455

%s 和 %r 的用法区别:

其主要区别在于 %r 把原始的信息显示了出来,如字符串保留了引号,%r 用来做 debug处理,因为因为它会显示变量的原始数据(raw data),而其它的符号则是用来向用户显示输出的。%s 只是显示其值。

3.3、Python格式化字符

字符串格式代码如下:

1547569854148

3.4、试着使用变量将英寸和磅转换成厘米和千克,然后使用Python计算**

1547566460309

4、课后扩展

4.1、字符串拼接实现格式化输出

字符换一般用“+”加号进行字符串的拼接,一般情况下,字符串拼接情况下的格式化输出不常用

#! -*-coding=utf-8 -*-

name = raw_input("name:")
age = raw_input("age:")
job = raw_input("job:")
salary = raw_input("slary:")

person_infomation = '''
----------------'''+ name + '''的个人信息----------------
name:'''+ name +'''
age :'''+ age + '''
job :'''+ job + '''
salary:'''+ salary +'''
'''
print person_infomation

上述代码的运行结果为:

C:\Python27\python.exe D:/pythoncode/stupid_way_study/demo5/Exer5-4.py
name:kang   #手工输入的信息
age:24
job:doctor
slary:3000
# 打印输出的信息
----------------kang的个人信息----------------
name:kang
age :24
job :doctor
salary:3000

Process finished with exit code 0

上述代码就是一个字符串拼接格式化输出的实例,使用加号进行字符串的拼接,但是一般不建议这么写,因为在因为拼接的字符串写法比较差,执行速度慢一般不建议使用,同时需要开辟好几块内存,效率低下。

4.2、占位符%s实现格式化输出

如上面习题5实例代码,但是还有几个点需要注意一下:

#! -*-coding=utf-8 -*-

name = raw_input("name:")
age = raw_input("age:")
job = raw_input("job:")
salary = raw_input("slary:")

person_infomation = '''
---------------- %s 的个人信息----------------
name:%s
age :%s
job :%s
salary:%s
''' % (name,name,age,job,salary)

print person_infomation

上述代码的运行结果为:

C:\Python27\python.exe D:/pythoncode/stupid_way_study/demo5/Exer5-5.py
name:kang
age:34
job:doctor
slary:30000

---------------- kang 的个人信息----------------
name:kang
age :34
job :doctor
salary:30000

Process finished with exit code 0

注意:

上面有几个占位符那么下面就需要引用几个变量,数量上要一一对应,不然程序会直接报错

%s %d %f帮助检测用户输入的数据类型是否是要求的,不是就直接报错。比如说,我们需要输入的age为整数,那么如果我们使用%s进行占位,那么我们输入的值就会自动被认为是字符型,如果我们需要输入的值为整数型那么需要用%d进行占位。

4.3、用.format实现格式化输出

相对于占位符%s实现格式化输出这中方式,format功能更强大,该函数把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号‘{}’作为特殊字符代替‘%’。

.format的位置匹配规则:

  • 不带编号,即“{}”
  • 带数字编号,可调换顺序,即“{1}”、“{2}”
  • 带关键字,即“{a}”、“{tom}”

4.3.1 、不带编号的情况

首先看第一个,不带编号的情况,就是按照从前到后的顺序依次匹配

#! -*-coding=utf-8 -*-

name = raw_input("name:")
age = raw_input("age:")
job = raw_input("job:")
salary = raw_input("slary:")

person_infomation = '''
---------------- {} 的个人信息----------------
name:{}
age :{}
job :{}
salary:{}
''' .format(name,name,age,job,salary)

print person_infomation
C:\Python27\python.exe D:/pythoncode/stupid_way_study/demo5/Exer5-5.py
name:Jack
age:43
job:teacher
slary:20000

---------------- Jack 的个人信息----------------
name:Jack
age :43
job :teacher
salary:20000

Process finished with exit code 0

上面这个代码就是运用了.format() 的不带编号匹配原则,从前到后依次填充format( ) 括号中的值。注意前后顺序很重要,不然就会乱序的。

4.3.2、带数字编号的情况

带数字的情况是.format大括号{x}中是0-n,使用{0-n}来先进行占位,然后再在下面使用.format引用上面已定义的变量(一,一定义)

1547569040579

4.3.3、带关键字的情况

这里的.format主要是使用多个变量进行占位{_name}然后下面再用.format将定义的变量名和上面已定义的变量进行连接(一,一对应)

#! -*-coding=utf-8 -*-

name = raw_input("name:")
age = raw_input("age:")
job = raw_input("job:")
salary = raw_input("slary:")

person_infomation = '''
---------------- {_name} 的个人信息----------------
name:{_name}
age :{_age}
job :{_job}
salary:{_salary}
''' .format(_name = name,
            _age = age,
            _job = job,
            _salary = salary)

print person_infomation
C:\Python27\python.exe D:/pythoncode/stupid_way_study/demo5/Exer5-6.py
name:kang
age:34
job:teacher
slary:3000

---------------- kang 的个人信息----------------
name:kang
age :34
job :teacher
salary:3000

Process finished with exit code 0

5、习题总结

习题5主要是学习了和用户交互输入需要注意的地方,还学习了格式化输出的各种形式。重点是.format() 函数的使用。

--结束END--

本文标题: 笨办法学Python - 习题5: Mo

本文链接: https://www.lsjlt.com/news/180806.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • 笨办法学Python - 习题5: Mo
    1、习题 5: 更多的变量和打印 学习目标:了解用户输入方法,明白pthon2和Python3之间的用户输入的区别。了解格式化字符串(format string)的概念,学会如何创建包含变量内容的字符串。使用专门的格式和语法把变量的内容放...
    99+
    2023-01-30
    习题 法学 Python
  • 笨办法学Python - 习题1: A
    在windows上安装完Python环境后,开始按照《笨办法学Python》书上介绍的章节进行练习。 习题 1: 第一个程序 第一天主要是介绍了Python中输出函数print的使用方法,但是有一个注意点需要注意的是:Python2中可以...
    99+
    2023-01-30
    习题 法学 Python
  • 笨办法学Python - 习题11-12
    目录 1、习题 11: 提问 2、习题 12: 提示别人 3、总结 1、习题 11: 提问 学习目标:了解人机交互场景,熟...
    99+
    2023-01-30
    习题 法学 Python
  • 笨办法学Python - 习题3: Nu
    目录 习题 3: 数字和数学计算 算术运算符 加分习题: 我的答案: 总结: 扩...
    99+
    2023-01-30
    习题 法学 Python
  • 笨办法学Python - 习题6-7:
    目录 1、习题 6: 字符串(string) 和文本 2、加分习题: 3、我的答案 4、习题总结 5、习题 7: 更多打...
    99+
    2023-01-30
    习题 法学 Python
  • 笨办法学Python - 习题8-10:
    目录 1、习题 8: 打印,打印 2、习题 9: 打印,打印,打印 3、习题 10: 那是什么? 3.1、转义序列: ...
    99+
    2023-01-30
    习题 法学 Python
  • python必看经典书籍:笨办法学pyt
    书评: 感谢作者和译者,很好的手把手的一个新手编程体验书,消除编程物质恐惧感,在线看的liam huang翻译的版,不确定看的是第几版,有一些加分题没有做,第五十题黑手党外星人飞船做起来有点压力,准备转去codeacademy / thi...
    99+
    2023-01-30
    必看 法学 书籍
  • python学习-5 python基础-
    1.if的基本语句     if条件:            内部代码块      else:             。。。。。。。。        print(‘。。。。。。。’) 2.if语句支持嵌套   if条件:        ...
    99+
    2023-01-31
    基础 python
  • python 学习总结5
    字符串类型及操作 一、字符串类型的表示   (1)字符串:由0个或多个字符组成的有序字符序列     例如:“请输入带有符号的温度值” 或者‘c’都是字符串   (2)字符串是字符的有序序列,可以对其中的字符进行索引     例如:“请”...
    99+
    2023-01-30
    python
  • Python学习笔记(5)practic
    2019-02-27 原代码: money = int(input("请输入金额:")) list = ["phone", "clothes", "book", "desk lamp"] list2 = [5000, 200, 35, ...
    99+
    2023-01-30
    学习笔记 Python practic
  • Python学习笔记(5)Timer
    下面的笔记内容来自coursera上的Python公开课。 A good program design principle: I have an u...
    99+
    2023-01-31
    学习笔记 Python Timer
  • Python学习笔记5—Python模块
        python模块分为系统内置的模块、第三方的模块和用户编写的模块    默认情况下,python第三方的模块安装在python 的安装目录下site-packages下,以文件或者目录的形式存放    用户模块,程序模块化对区分功能...
    99+
    2023-01-31
    学习笔记 模块 Python
  • python基础学习5----字典
    字典由大括号和键值对组成,特点为无序,键唯一 1.字典的创建 #直接创建字典 dic1={'name':'a','age':20} #通过dict创建字典,输出都为{'name': 'a', 'age': 20} dic2=dict((...
    99+
    2023-01-30
    字典 基础 python
  • 我的Python学习笔记(5) ArcG
    介绍与点评 主要针对ArcGIS Online和 ArcGIS Portal的用户,使用python api能够很方便的完成很多繁琐的功能,并提供一定的展示能力。 主要功能和特点(注意,基本上所有的功能都需要基于Online或...
    99+
    2023-01-31
    学习笔记 Python ArcG
  • 学习python:练习5.简单红包程序
    快过年了,最近不少群里都发红包,晚上突然想用这个红包做个练习,简单实现了一下,效果不错哦觉得稍微有点困难的地方是红包的算法,想了久了点,也不知道微信的算法是咋样的...效果:代码:# 简单的拼手气红包 import random from...
    99+
    2023-01-31
    红包 简单 程序
  • python学习之--习题集
    1.什么是PVM?pvm是python的虚拟机,它是python运行时引擎解释编译得到的代码...
    99+
    2023-01-31
    习题集 python
  • Python学习笔记5——一切皆对象
    我发现我不适合看视频学习,看书看文字觉得更舒服,看大神的博客教程:Python快速教程——这是大神的第一篇博客,点击下一篇,一篇篇看下去,都很通俗易懂,坐看看大神是如何成长的,可以利用碎片时间看,收获很多,不再迷茫。 另外,下面的评论也很...
    99+
    2023-01-30
    学习笔记 一切皆 对象
  • Python学习5——基本格式化输出
    整数的格式化输出   十进制、八进制、十六进制 num01 = 100 print("十进制输出:%d"%num01) print("八进制输出:%o"%num01) print("十六进制输出:%x"%num01) #放在一行 pr...
    99+
    2023-01-30
    Python
  • 【python】编程学习练习题--3
      1 #利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456:代码:  2    3 from functools import reduce   4 str = '123.456'...
    99+
    2023-01-31
    练习题 python
  • Python学习笔记(办公篇Excel)
    简介:      今日接了个小单,把数据从xlsx读取到本地生成散点图,在读取日期数据时发现,读取下来的日期是数字,不是日期的格式    所要用的库: xlrd :1.1.0 time: datetime: 解决方法: ...
    99+
    2023-01-30
    学习笔记 Python Excel
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作