python全栈day5

字符串格式化输出

name = input("Name:")#输入你的名字
age = int(input("Age:"))#输入你的年龄
job = input("Job:")#输入你的行业
salary = input("Salary:")#输入你的收入

if salary.isdigit(): #长得像不像数字
salary = int(salary)
# else:
# #print(must input digit)
# exit("must input digit") #退出程序

# %d只能输入数字,%s 占位符 %f 浮点数 约等于小数
msg = '''
-------------- info of %s -------------
Name: %s
Age: %d
Job: %s
Salary: %f
You will be retired in %s years
-------------- end -------------
''' % (name,name,age,job,salary,60-age)
print(msg)

数据类型初识 

1、数字

2 是一个整数的例子。
长整数 不过是大一些的整数。
3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3 * 10-4。
(-5+4j)和(2.3-4.6j)是复数的例子,其中-5,4为实数,j为虚数,数学中表示复数是什么?。

int(整型)

  在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
  在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
long(长整型)
  跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
  注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
float(浮点型)
       先扫盲 http://www.cnblogs.com/alex3714/articles/5895848.html 
  浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
complex(复数)
  复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
注:Python中存在小数字池:-5 ~ 257
 
2、布尔值
  真或假
  1 或 0
3、字符串
"hello world"
万恶的字符串拼接:
  python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开辟空间,万恶的+号每出现一次就会在内从中重新开辟一块空间。
 

表达式for loop

最简单的循环10次

__author__  =  'ppuy'
 
for  in  range ( 10 ):
     print ( "loop:" , i )
 
 

List(列表)

      OK,现在我们知道了字符串和整型两个数据类型了,那需求来了,我想把某个班所有的名字存起来,怎么办?

有同学说,不是学变量存储了吗,我就用变量存储呗,呵呵,不嫌累吗,同学,如班里有一百个人,你就得创建一百个变量啊,消耗大,效率低。

又有同学说,我用个大字符串不可以吗,没问题,你的确存起来了,但是,你对这个数据的操作(增删改查)将变得非常艰难,不是吗,我想知道张三的位置,你怎么办?

在这种需求下,编程语言有了一个重要的数据类型----列表(list)

什么是列表:

列表(list)是Python以及其他语言中最常用到的数据结构之一。Python使用使用中括号 [ ] 来解析列表。列表是可变的(mutable)——可以改变列表的内容。

对应操作:

1 查([])

1
2
3
4
5
6
7
8
9
10
names_class2 = [ '张三' , '李四' , '王五' , '赵六' ]
 
# print(names_class2[2])
# print(names_class2[0:3])
# print(names_class2[0:7])
# print(names_class2[-1])
# print(names_class2[2:3])
# print(names_class2[0:3:1])
# print(names_class2[3:0:-1])
# print(names_class2[:]) 

2 增(append,insert)

insert 方法用于将对象插入到列表中,而append方法则用于在列表末尾追加新的对象

1
2
3
names_class2.append( 'alex' )
names_class2.insert( 2 , 'alvin' )
print (names_class2)

3 改(重新赋值)

1
2
3
4
5
names_class2 = [ '张三' , '李四' , '王五' , '赵六' ]
 
names_class2[ 3 ] = '赵七'
names_class2[ 0 : 2 ] = [ 'wusir' , 'alvin' ]
print (names_class2)

4 删(remove,del,pop)

1
2
3
4
names_class2.remove( 'alex' )
del  names_class2[ 0 ]
del  names_class2
names_class2.pop() #注意,pop是有一个返回值的 

5 其他操作

5.1  count

       count 方法统计某个元素在列表中出现的次数:

1
2
3
4
5
6
7
>>> [ 'to' 'be' 'or' 'not' 'to' 'be' ].count( 'to'
2 
>>> x  =  [[ 1 , 2 ],  1 1 , [ 2 1 , [ 1 2 ]]] 
>>> x.count( 1
2 
>>> x.count([ 1 , 2 ]) 
1

5.2 extend

         extend 方法可以在列表的末尾一次性追加另一个序列中的多个值。

1
2
3
4
5
>>> a  =  [ 1 2 3
>>> b  =  [ 4 5 6
>>> a.extend(b) 
>>> a 
[ 1 2 3 4 5 6

  extend 方法修改了被扩展的列表,而原始的连接操作(+)则不然,它会返回一个全新的列表。

1
2
3
4
5
6
7
8
9
10
>>> a  =  [ 1 2 3
>>> b  =  [ 4 5 6
>>> a.extend(b) 
>>> a 
[ 1 2 3 4 5 6
>>> 
>>> a  + 
[ 1 2 3 4 5 6 4 5 6
>>> a 
[ 1 2 3 4 5 6

5.3  index

       index 方法用于从列表中找出某个值第一个匹配项的索引位置: 

1
names_class2.index( '李四' )

5.4  reverse

       reverse 方法将列表中的元素反向存放。

1
2
names_class2.reverse()
print (names_class2)

5.5  sort

       sort 方法用于在原位置对列表进行排序。

1
2
=  [ 4 6 2 1 7 9 ]
x.sort() #x.sort(reverse=True)

猜你喜欢

转载自www.cnblogs.com/ppuy/p/11520851.html