Day1-用户输入及字符串格式化输入
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-用户输入及字符串格式化输入的更多相关文章
- python笔记3-输出输入、字符串格式化
输入.输出 python怎么来接收用户输入呢,使用input函数,python2中使用raw_input,接收的是一个字符串,输出呢,第一个程序已经写的使用print,代码入下: 1 2 name=i ...
- C语言基础(9)-字符串格式化输入和输出
1.字符串在计算机内部的存储方式 字符串是内存中一段连续的char空间,以’\0’结尾 2.printf函数,putchar函数 putchar输出一个char printf是输出一个字符串 prin ...
- Java字符串格式化输入
两种方式 System.out.println(MessageFormat.format("{0}-{1}",1,2)); System.out.println(String.fo ...
- Java字符串格式化输入({0}/%s)
用法: System.out.println(MessageFormat.format("{0}{1}",1,2)); System.out.println(String.form ...
- c# 用户输入一个字符串,求字符串的长度
C# 用户输入一个字符串,求字符串的长度使用字符串的length: class Program { static void Main(string[] args) { Console.WriteLi ...
- Python学习-用户输入和字符串拼接
用户输入和字符串拼接 #用户输入和字符串拼接username=input("username:")age=int(input("Age:")) #转换整数型 ...
- 16.Python input()函数:获取用户输入的字符串
input() 函数用于向用户生成一条提示,然后获取用户输入的内容.由于 input() 函数总会将用户输入的内容放入字符串中,因此用户可以输入任何内容,input() 函数总是返回一个字符串. 例如 ...
- c语言学习笔记第四章——字符串和格式化输入、输出
B站有视频演示 本章学习printf函数的输入输出,字符串的定义与实用. 字符串 字符串(character string)是一个或多个字符的序列,如下所示: "Zing went the ...
- 重学C语言---04字符串和格式化输入/输出
1.程序示例 //talkback.c一个能为你提供一些信息的对话框 #include <stdio.h> #include <string.h> //提供strlen函数原型 ...
随机推荐
- Bootstrap基础学习(一)—表格与按钮
一.Bootstrap 概述 Bootstrap 是由 Twitter 公司(全球最大的微博)的两名技术工程师研发的一个基于HTML.CSS.JavaScript 的开源框架.该框架代码简洁 ...
- VUE进阶(路由等)
初级教程:http://www.cnblogs.com/dmcl/p/6137469.html VUE进阶 自定义指令 http://cn.vuejs.org/v2/guide/custom-dire ...
- 关于定时发送服务的解决办法(PHP)
一.定时发送任务解析 在进行手机APP或者微信开发的时候,经常会有需要定时推送消息的场景. 定时发送又分为两种: 一种是在开发的时候固定时间,后台管理人员只能选择将要推送的消息: 另一种是后台管理人员 ...
- git远程库代码版本回滚方法
最近使用git时, 造成了远程库代码需要回滚到之前版本的情况,为了解决这个问题查看了很多资料. 问题产生原因: 提交了错误的版本到远程库. 以下是解决的方法, 供大家参考: 1.对本地代码库进行回滚 ...
- mybatis插入List集合数据
处女帖 今天做完一个定时任务将一个表中的数据每天统计到另外一个表中,开始是用循环的方式向数据库添加,觉得数据库可能访问压力过大,所以就使用了mybatis的foreach标签来稍微的减少压力. 首先封 ...
- 学习java分为几个阶段,分别是什么?
多年前我自学的时候是很茫然,上网问问题,总是一堆外行的人说很难啊,你需要这样需要那样,不然就是,一堆人说一些空话,多看多写,买好书,我很无语,除了这些就没有自己的一些想法吗? 首先很多人认为学JAVA ...
- LeetCode 108: Convert Sorted Array to Binary Search Tree DFS求解
Given an array where elements are sorted in ascending order, convert it to a height balanced BST. 解题 ...
- MySQL注射的过滤绕过技巧
SQL注射的绕过技巧较多,此文仅做一些简单的总结. 最好利用的注射点: 支持Union 可报错 支持多行执行.可执行系统命令.可HTTP Request等额外有利条件 若非以上类型,则可能需要暴力猜解 ...
- 使用jquery的load方法设计动态加载,并解决浏览器前进、后退、刷新等问题
继上一篇 使用jquery的load方法设计动态加载,并解决被加载页面JavaScript失效问题 解决了后台业务系统的部分动态加载问题,然而该框架离正常的用户体验还存在一些问题,如:浏览器的前进.后 ...
- 多说评论一次导回 Typecho 本地数据库
一.追忆往昔 第一次接触社交化评论类产品大概是在2012年左右,当时国内知名度较高的有多说.友言等,国际上比较有名的有Disqus,这类产品的优点在此就不多说了. 用过几款产品后,被多说漂亮的页面和体 ...