Python学习之字符串格式化输出06

1.Pycharm的使用

    市面上常见的IDE(Integrated Development Environment)

1.Vim   经典的Linux下的文本编辑器,只有小白(不知道有开发工具所以用)和大牛用(用的太熟了)

2.Emacs   Linux 文本编辑器, 比Vim更易使用

3.Eclipse  Java的IDE,也支持Python,C,C++

4.Visual Studio   微软开发的IDE,支持Python,C,C++,Java,C#

5.notepad++,

6.sublime   Python开发的

7.Pycharm  是主要用于Python开发的IDE

 

2.字符串格式化输出

    现在假设需要打印如下格式化的输出的

    考虑到有如下输入

name = input("name:")
age = input("age:")
job = input("job:")
salary = input("salary:")

    需要打印出下面格式化的输出

----------- info of name -------
Name: name
Age: age
Job: job
Salary: salary
---------- end --------

    如果一行一行去打印的话,就实在太慢了,有一种办法可以做到,代码如下

msg = '''
----------- info of %s -------
Name: %s
Age: %s
Job: %s
Salary: %s
---------- end --------
''' %(name, name, age, job, salary)

print(msg)

    在输出的msg中用%s占位,然后在后面用%(value...)的形式去取代%s。

    假设我还想打印一行有多少年退休,数目用65-age计算,代码如下所示

msg = '''
----------- info of %s -------
Name: %s
Age: %s
Job: %s
Salary: %s
You will be retired in %s years
---------- end --------
''' %(name, name, age, job, salary, 65-age)

    这个时候会报一个错误

TypeError: unsupported operand type(s) for -: 'int' and 'str'

    因为我们从上节课知道,从键盘中输入的都是字符串,所以age是字符串,直接与数字运算会报错误,这时需要把age转换成数字,如下所示

age = int(input("age:"))

    还有一个事情,由于输入的全是字符串,如果salary输入错误了,不小心加入了字母,那么也会直接把这个输出,这个结果就不对,所以我们在输出前还得判断salary是不是数字,但是输入的都是字符串型数据,怎么判断呢?如下

if salary.isdigit():
    salary = int(salary)
else:
    exit("must input digit")

    这个方法返回布尔值,如果salary是数字,那么返回true。

    看一下效果

    还有一种方法确保salary是正确的输入,就是把%s改成%d,%d要求输入的格式必须为整数,代码如下

msg = '''
----------- info of %s -------
Name: %s
Age: %s
Job: %s
Salary: %d
You will be retired in %s years
---------- end --------

    将 前面的if判断为否的代码注释掉,否则错误输入直接退出程序,不能到达这一步,看不到效果,这里输入salary为321a,结果如下

name:Alex
age:22
job:IT
salary:321a
TypeError: %d format: a number is required, not str

    报了一个错误,说需要输入的数字而不是字符串。

3.数据类型

整数:在Python3 中,整型与长整型已经不做区分了。

浮点数

布尔:只有两个值 True和False

复数:a+bj的形式

a = 1 + 5j
b = 2 + 3j
print(a+b)
(3+8j)

 

   

猜你喜欢

转载自blog.csdn.net/The_last_knight/article/details/82904598