1.用户输入--input和getpass函数

2.字符串的格式化

#############################################

一、用户输入--input()函数

#!/usr/bin/env python
#-*- coding:utf-8 -*- #name = raw_input("what is your name?") #only on python2.x
name = input("what is your name:") #input函数输入的是字符串格式
print("Hello " + name)

举例1:猜年龄

age_of_oldboy = 56
guess_age = int(input("The age guessed:")) #input输入的是字符串,如果与整型进行比较,必须进行类型转换
if guess_age == age_of_oldboy:
print("恭喜你,猜对了")
elif guess_age > age_of_oldboy:
print("猜大了")
else:
print("猜小了")

举例2:密码密文输入

 import getpass
_username='tom'
_password=''
username=input("username:")
#password=getpass.getpass("pasword:") #密文输入
password=input("password:") #明文输入 if _username==username and _password==password:
print("Welcome user {name} login...".format(name=username)) #字符串的格式化输出
else:
print("Invalidusernameorpassword") 执行结果:

username:tom
password:123456
Welcome user tom login...

二、字符串的格式化

 >>> print("I'm %(name)s. I'm %(age)d year old" % {'name':'Vamei', 'age':99}) #元组的方式
I'm Vamei. I'm 99 year old "I'm %s. I'm %d year old" 为模板。%s为第一个格式符,表示一个字符串;%d为第二个格式符,表示一个整数。('Vamei', 99)的两个元素'Vamei'和99为替换%s和%d的真实值。 
在模板和tuple之间,有一个%号分隔,它代表了格式化操作。
 >>> print("I'm %(name)s. I'm %(age)d year old" % {'name':'Vamei', 'age':99})  #字典的方式
I'm Vamei. I'm 99 year old

格式符:Python中内置的%操作符可用于格式化字符串操作,控制字符串的呈现格式。

%s    字符串 (采用str()的显示)

%r    字符串 (采用repr()的显示)

%c    单个字符

%b    二进制整数

%d    十进制整数

%i    十进制整数

%o    八进制整数

%x    十六进制整数

%e    指数 (基底写为e)

%E    指数 (基底写为E)

%f    浮点数

%F    浮点数,与上相同

%g    指数(e)或浮点数 (根据显示长度)

%G    指数(E)或浮点数 (根据显示长度)

%%    字符"%"

 >>> print("%+10x" % 10) #16进制输出,左移10位
+a
>>> print("%04d" % 5) #数字5左移4位,前面添加0
0005
>>> print("%6.3f" % 2.3) #浮点数2.3以小数点3位,并且占位6个字符
2.300
>>> print("%.*f" % (4, 1.2))
1.2000

需求:打印如下格式的字符串

info='''
------------infoof$--------------
Name:
Age:
Job:
Salary:
'''

解决1:

 name=input("name:")
age=input("age:")
job=input("Job:")
salary=input("Salary:") info='''
------------infoof%s--------------
Name:%s
Age:%d #写%d而不是%s,帮助检测是不是整数
Job:%s
Salary:%s
'''%(name,name,age,job,salary) #这的参数必须跟%s等占位符个数、顺序一样
print(info)

解决2:

 name=input("name:")
age=int(input("age:"))#integer默认输入是字符串,强制把字符串转换成整型
print(type(age))
job=input("Job:")
salary=input("Salary:") info='''
------------infoof%s--------------
Name:%s
Age:%d
Job:%s
Salary:%s
'''%(name,name,age,job,salary)
print(info)

解决3:

 name=input("name:")
age=int(input("age:"))#integer
job=input("job:")
salary=input("salary:") info2='''
------------infoof{_name}--------------
Name:{_name}
Age:{_age}
Job:{_job}
Salary:{_salary}
'''.format(_name=name,
_age=age,
_job=job,
_salary=salary) print(info2)

总结三种:

 name=input("name:")
age=int(input("age:"))#integer
job=input("job:")
salary=input("salary:") info1='''
------------infoof%s--------------
Name:%s
Age:%d
Job:%s
Salary:%s
'''%(name,name,age,job,salary) info2='''
------------infoof{_name}--------------
Name:{_name}
Age:{_age}
Job:{_job}
Salary:{_salary}
'''.format(_name=name,
_age=age,
_job=job,
_salary=salary) info3='''
------------infoof{0}--------------
Name:{0}
Age:{1}
Job:{2}
Salary:{3}
'''.format(name,age,job,salary) print(info3)

Day1-用户输入及字符串格式化输入的更多相关文章

  1. python笔记3-输出输入、字符串格式化

    输入.输出 python怎么来接收用户输入呢,使用input函数,python2中使用raw_input,接收的是一个字符串,输出呢,第一个程序已经写的使用print,代码入下: 1 2 name=i ...

  2. C语言基础(9)-字符串格式化输入和输出

    1.字符串在计算机内部的存储方式 字符串是内存中一段连续的char空间,以’\0’结尾 2.printf函数,putchar函数 putchar输出一个char printf是输出一个字符串 prin ...

  3. Java字符串格式化输入

    两种方式 System.out.println(MessageFormat.format("{0}-{1}",1,2)); System.out.println(String.fo ...

  4. Java字符串格式化输入({0}/%s)

    用法: System.out.println(MessageFormat.format("{0}{1}",1,2)); System.out.println(String.form ...

  5. c# 用户输入一个字符串,求字符串的长度

    C#  用户输入一个字符串,求字符串的长度使用字符串的length: class Program { static void Main(string[] args) { Console.WriteLi ...

  6. Python学习-用户输入和字符串拼接

      用户输入和字符串拼接 #用户输入和字符串拼接username=input("username:")age=int(input("Age:")) #转换整数型 ...

  7. 16.Python input()函数:获取用户输入的字符串

    input() 函数用于向用户生成一条提示,然后获取用户输入的内容.由于 input() 函数总会将用户输入的内容放入字符串中,因此用户可以输入任何内容,input() 函数总是返回一个字符串. 例如 ...

  8. c语言学习笔记第四章——字符串和格式化输入、输出

    B站有视频演示 本章学习printf函数的输入输出,字符串的定义与实用. 字符串 字符串(character string)是一个或多个字符的序列,如下所示: "Zing went the ...

  9. 重学C语言---04字符串和格式化输入/输出

    1.程序示例 //talkback.c一个能为你提供一些信息的对话框 #include <stdio.h> #include <string.h> //提供strlen函数原型 ...

随机推荐

  1. Mybatis基础学习(三)—映射文件

    一.输入映射 1.parameterType     指定输入参数的Java类,可以使用别名或者类的全限定名.它也可以接受基本数据类型.POJO对象.HashMap.   (1)基本数据类型   (2 ...

  2. Mysql清理二进制日志的技巧

    1:二进制日志 二进制日志记录了所有的DDL(数据定义语言)语句和DML(数据操作语言)语句,但是不记录包括数据查询的语句.语句以"事件"的形式保存,它描述了数据的更改过程,此日志 ...

  3. firefox上安装selenium ide失败

    Selenium 初学者第一步: 最近在学习selenium,但是在安装的时候遇到了问题.我是直接在firefox安装的Selenium IDE ,虽然下载安装之后存在于扩展中,但是工具栏里并没有显示 ...

  4. 浏览器特性检测插件Feature.js

    <script src="js/feature.js"></script> if (feature.webGL) { console.log("你 ...

  5. Redis和Spring整合

    Redis和Spring整合 Redis在这篇里就不做介绍了~以后系统的学学,然后整理写出来. 首先是环境的搭建 通过自己引包的方式,将redis和spring-redis的包引到自己的项目中,我项目 ...

  6. 51单片机I/O口直接输入输出实例(附调试及分析过程)

    51单片机P0/P1/P2/P3口的区别: P0口要作为低8位地址总线和8位数据总线用,这种情况下P0口不能用作I/O,要先作为地址总线对外传送低8位的地址,然后作为数据总线对外交换数据: P1口只能 ...

  7. Linux - 进程间通信 - 命名管道

    1.命名管道的特点: (1)是管道,可用于非血缘关系的进程间的通信 (2)使用命名管道时,梁金成需要用路径表示通道. (3)命名管道以FIFO的文件形式存储于文件系统中.(FIFO:总是按照先进先出的 ...

  8. SELECT中的多表连接

    MySQL多表连接查询 连接(join):将一张表中的行按照某个条件(连接条件)和另一张表中的行连接起来形成一个新行的过程. 根据连接查询返回的结果,分3类: 内连接(inner join) 外连接( ...

  9. 10个漂亮的jQuery日历插件下载【转载】

    10个漂亮的jQuery日历插件下载 2013-08-07 标签:jQuery日历插件jQuery日历jQuery插件   日期是非常重要的,随时随地.微薄或网站的日期选取器日历必须在那里.您可以使用 ...

  10. bzoj4785 [Zjoi2017]树状数组

    Description 漆黑的晚上,九条可怜躺在床上辗转反侧.难以入眠的她想起了若干年前她的一次悲惨的OI 比赛经历.那是一道基础的树状数组题.给出一个长度为 n 的数组 A,初始值都为 0,接下来进 ...