Example:"found the needle at position " plus the index it found the needle, so:find_needle(['hay', 'junk', 'hay', 'hay', 'moreJunk', 'needle', 'randomJunk'])should return "found the needle at position 5"Solution:def find_needle(haystack):    return 'found the needle at position {}'.format(haystack.index('needle'))
1-1# 现在想打印这样的一种格式info = '''------- info of $ -------Name:Age:Job:Salary:'''# 应该怎样打印?这就涉及到格式化输出username = input("name:")password = input("age:")job = input("job:")salary = input("salary:")# 怎么打印? print(info)?但是怎么将变量和字符串结合起来???1-1-1  字符串拼接name = input("name:")age = input("age:")job = input("job:")salary = input("salary:")info = '''------- info of '''+name+''' -------Name:'''+age+'''Age:'''+job# Job:# Salary:# '''print(info)# 这样虽然格式化输出了,但是又 low 又 麻烦
1-2 有一种更方便的办法# 在 shell 脚本中,用 $ 引用变量# 在python 中,用%name = input("name:")age = input("age:")job = input("job:")salary = input("salary:")info = '''-------- info of %s -----Name: %sAge: %sJob: %sSalary: %s''' % (name, name, age, job, salary)print(info)  # 顺序必须是一样的,%s 代表 string1-2-1 但是 age 是整数,所以name = input("name:")age = input("age:")job = input("job:")salary = input("salary:")info = '''-------- info of %s -----Name: %sAge: %dJob: %sSalary: %s''' % (name, name, age, job, salary)print(info)# %d 表示接受数字,但是 %s 也是没有问题的# 为什么用 %d, 作用是帮助检测验证 数据类型# %f 表示浮点,小数1-2-2# 现在运行 1-2-1--->name:Taburissage:99999job:zxcvsalary:1000Traceback (most recent call last):  File "C:\Users\Taburiss\PycharmProjects\s14\Trial01\trans_test.py", line 6, in <module>    info = '''TypeError: %d format: a number is required, not str'''# 结果是报错了 TypeError: %d format: a number is required, not str'# 因为输入的不是数字,只是看起来是 数字# python 默认所有输入都是 字符串,所有需要把 Age 转成数字1-2-3name = input("name:")age = int(input("age:"))   # integerprint(type(age), type(str(age)))job = input("job:")salary = input("salary:")info = '''-------- info of %s -----Name: %sAge: %dJob: %sSalary: %s''' % (name, name, age, job, salary)print(info)1-2-4name = input("name:")age = int(input("age:"))   # integerprint(type(age), type(str(age)))--->name:Taburissage:99999<class 'int'> <class 'str'>
2-1# 除了这种字符串格式化的方式,还有别的吗???# python2 中的 raw_input 和 python3 中的 input 是完全一样的,但是在 python2 中还有一个 input# python2 中的 input 不要用,因为它接受的是什么格式,就认为是什么格式;不加双引号会认为是变量# 所以 3.0 中去掉了# 刚刚是 + 和 %;除此之外还有一种方式# 第 3 种方式就是 用 formatname = input("name:")age = int(input("age:"))job = input("job:")salary = input("salary:")info2 = '''-------- info of {_name} -----Name: {_name}Age: {_age}Job: {_job}Salary: {_salary}''' .format(_name=name,            _age=age,            _job=job,            _salary=salary)print(info2)# 在一些特定化场景,格式化拼接只能用这个2-2# 也可以不指定参数,但是要求顺序必须没有问题# format 可以用这两种# 打印列表的 三种格式,忘记拼接,不要用拼接,加号拼接 内存多,不推荐name = input("name:")age = int(input("age:"))   # integerprint(type(age), type(str(age)))job = input("job:")salary = input("salary:")info3 = '''-------- info of {0} -----Name: {0}Age: {1}Job: {2}Salary: {3}''' .format(name, age, job, salary)print(info3)# 不过,这种方式如果参数过多,就不会足够清晰
3-1format 格式化name = "my name is {name} and i am {year} old"print(name.format(name='aether',year=999))--> my name is aether and i am 999 old
总结:1 input;2 格式化拼接的三种方式,%和format
©著作权归作者所有:来自51CTO博客作者ATaburiss的原创作品,谢绝转载,否则将追究法律责任

更多相关文章

  1. 磁盘未被格式化救援方法
  2. __format__
  3. 格式化输出的三种方式
  4. Linux格式化报错mkfs.ext4: undefined symbol: ext2fs_numeric_p
  5. 如何格式化不属于任何段的损坏块 (文档 ID 1526163.1)
  6. 笔记本硬盘被格式化了的资料寻回办法
  7. 【vue】class、style的用法
  8. 苹果Mac如何使用Tuxera NTFS 格式化磁盘?
  9. Linux运维入门教程06-04 (硬盘分区、格式化及文件系统的管理二)

随机推荐

  1. 使用GMail SMTP服务器从PHP页面发送电子
  2. 如何找到数组的大小
  3. 为什么在php.ini中设置了date.timezone =
  4. 登录后无法看到我的网站
  5. Asterisk ami删除某些扩展名
  6. 将纪元时间转换为日期PHP
  7. PHP - Content-type未指定假设应用程序/x
  8. 一道php自增运算符题
  9. ThinkPHP的create方法的一系列操作
  10. PHP不区分大小写数组搜索函数[duplicate]