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

2.字符串的格式化

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

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

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

举例1:猜年龄

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

举例2:密码密文输入

  1. import getpass
  2. _username='tom'
  3. _password=''
  4. username=input("username:")
  5. #password=getpass.getpass("pasword:") #密文输入
  6. password=input("password:") #明文输入
  7.  
  8. if _username==username and _password==password:
  9. print("Welcome user {name} login...".format(name=username)) #字符串的格式化输出
  10. else:
  11. print("Invalidusernameorpassword")
  12.  
  13. 执行结果:

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

二、字符串的格式化

  1. >>> print("I'm %(name)s. I'm %(age)d year old" % {'name':'Vamei', 'age':99}) #元组的方式
  2. I'm Vamei. I'm 99 year old
  3.  
  4. "I'm %s. I'm %d year old" 为模板。%s为第一个格式符,表示一个字符串;%d为第二个格式符,表示一个整数。('Vamei', 99)的两个元素'Vamei'99为替换%s和%d的真实值。 
    在模板和tuple之间,有一个%号分隔,它代表了格式化操作。
  1. >>> print("I'm %(name)s. I'm %(age)d year old" % {'name':'Vamei', 'age':99}) #字典的方式
  2. 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)或浮点数 (根据显示长度)

%%    字符"%"

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

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

  1. info='''
  2. ------------infoof$--------------
  3. Name:
  4. Age:
  5. Job:
  6. Salary:
  7. '''

解决1:

  1. name=input("name:")
  2. age=input("age:")
  3. job=input("Job:")
  4. salary=input("Salary:")
  5.  
  6. info='''
  7. ------------infoof%s--------------
  8. Name:%s
  9. Age:%d #写%d而不是%s,帮助检测是不是整数
  10. Job:%s
  11. Salary:%s
  12. '''%(name,name,age,job,salary) #这的参数必须跟%s等占位符个数、顺序一样
  13. print(info)

解决2:

  1. name=input("name:")
  2. age=int(input("age:"))#integer默认输入是字符串,强制把字符串转换成整型
  3. print(type(age))
  4. job=input("Job:")
  5. salary=input("Salary:")
  6.  
  7. info='''
  8. ------------infoof%s--------------
  9. Name:%s
  10. Age:%d
  11. Job:%s
  12. Salary:%s
  13. '''%(name,name,age,job,salary)
  14. print(info)

解决3:

  1. name=input("name:")
  2. age=int(input("age:"))#integer
  3. job=input("job:")
  4. salary=input("salary:")
  5.  
  6. info2='''
  7. ------------infoof{_name}--------------
  8. Name:{_name}
  9. Age:{_age}
  10. Job:{_job}
  11. Salary:{_salary}
  12. '''.format(_name=name,
  13. _age=age,
  14. _job=job,
  15. _salary=salary)
  16.  
  17. print(info2)

总结三种:

  1. name=input("name:")
  2. age=int(input("age:"))#integer
  3. job=input("job:")
  4. salary=input("salary:")
  5.  
  6. info1='''
  7. ------------infoof%s--------------
  8. Name:%s
  9. Age:%d
  10. Job:%s
  11. Salary:%s
  12. '''%(name,name,age,job,salary)
  13.  
  14. info2='''
  15. ------------infoof{_name}--------------
  16. Name:{_name}
  17. Age:{_age}
  18. Job:{_job}
  19. Salary:{_salary}
  20. '''.format(_name=name,
  21. _age=age,
  22. _job=job,
  23. _salary=salary)
  24.  
  25. info3='''
  26. ------------infoof{0}--------------
  27. Name:{0}
  28. Age:{1}
  29. Job:{2}
  30. Salary:{3}
  31. '''.format(name,age,job,salary)
  32.  
  33. 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. 顺序线性表之大整数求和C++

    顺序线性表之大整数求和 大整数求和伪代码 1.初始化进位标志 flag=0: 2.求大整数 A 和 B 的长度: int aLength = a.GetLength(); int bLength = ...

  2. Debian 8开启sftp服务

    看到某云的CDN居然是使用ftp这种早该淘汰的协议,不禁有些吐槽.ftp曾经作为互联网上最重要的协议,但漫长使用过程中体现出的各种缺点,已不适合再使用.其中最致命的问题就是明文传输用户密码.建议使用这 ...

  3. 老李推荐:第5章6节《MonkeyRunner源码剖析》Monkey原理分析-启动运行: 初始化事件源

    老李推荐:第5章6节<MonkeyRunner源码剖析>Monkey原理分析-启动运行: 初始化事件源   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试 ...

  4. [C#] 使用 StackExchange.Redis 封装属于自己的 Helper

    使用 StackExchange.Redis 封装属于自己的 Helper 目录 核心类 ConnectionMultiplexer 字符串(String) 哈希(Hash) 列表(List) 有序集 ...

  5. 项目的ip地址更改,用git从远程提取代码出现错误,提示为 network error connection timed out

    昨天公司的ip进行了修改,在今天从远程提取代码的过程中提示network error connection timed out错误,从网上看了一下解决方法 1:打开项目文件夹,点击查看 2:勾选隐藏的 ...

  6. 彻底搞定C语言指针(精华版)

    1.语言中变量的实质 要理解C指针,我认为一定要理解C中“变量”的存储实质, 所以我就从“变量”这个东西开始讲起吧! 先来理解理解内存空间吧!请看下图: 内存地址→ 6 7 8 9 10 11 12 ...

  7. AngularJS路由跳转

    AngularJS是一个javascript框架,通过AngularJS这个类库可以实现目前比较流行的单页面应用,AngularJS还具有双向数据绑定的特点,更加适应页面动态内容. 所谓单页面应用就是 ...

  8. NodeJs系列一:神奇的nodejs

    nodejs是什么 nodejs能解决什么问题 非阻塞型I/O及事件环机制 什么时候使用nodejs nodejs是什么 Node.js是让Javascript脱离浏览器运行在服务器的一个平台(或者叫 ...

  9. CF IndiaHacks 2016 F Paper task 后缀数组

    题目链接:http://codeforces.com/problemset/problem/653/F 大意是给出一个只包含'('和')'的括号串,求有多少不同的子串是合法的括号串 解法:对于每一个后 ...

  10. 基于Maven的SSM整合的web工程

    此文章主要有以下几个知识点: 一.如何创建 Maven的Web 工程 二.整合SSM(Spring,SpringMvc,Mybatis),包括所有的配置文件 三.用 mybatis 逆向工程生成对应的 ...