1.pirnt不换行输出



两个连续的print()函数输出内容一般会分行显示,即调用print()函数后换行并结束当前行,那么如果要让两个print()函数打印在一行内该怎么做呢?


我们知道,print()中有两个参数sep和end参数。 其中print()函数中的逗号默认用空格代替, 末尾默认加上换行符。其中sep是代替分隔符,end是代替末尾的换行符。例如:




1. coffee_cup = 'coffee'  
2. print("I love my", coffee_cup, "!",sep="*")  
3. """ 
4. 输出结果是: 
5. I love my*coffee*! 
6. """


end函数用来定义一行输出的末尾



1. coffee_cup = 'coffee'  
2. print("I love my", coffee_cup, "!",end="end_flag")  
3. """ 
4. 输出结果是: 
5. I love my coffee !end_flag 
6. """


那么,如果要将 两个print()函数打印在一行内 ,则可以利用end参数,将默认的换行符改为空格或是空白即可


1. print('hello', end = " ")  
2. print('world', end = "*")  
3. print('!')  
4. """ 
5. 输出结果是: 
6. hello world*! 
7. """




2.进制转换


从二进制转换为十进制有几种方式



第一种是在二进制数前加上0b,显示时会自动转换为十进制,注意这并不是字符串



x         =                 0b1010


print        (x)


如果是字符串可以利用eval求值



x         =                 eval(        '0b1010'        )


第二种是利用int函数,字符串可以以0b为前缀,也可以不使用



int        (        '1010'        ,base        =        2        )


int        (        '0b1010'        ,        2        )


函数会将输入base进制的字符串转换为十进制






base = 2,表示将字符串的内容视为2进制,转换为10进制。



base = 8,表示将字符串的内容视为8进制,转换为10进制。









3.列表推导式





也叫列表解析,灵感取自函数式编程语言 Haskell 。Ta 是一个非常有用和灵活的工具, 可以用来动态的创建列表, 语法如:[ 有关 A的表达式 for A in B]



例如:[i*i for i in range(10)]



打印[0, 1, 4, 9, 16, 25, 36, 49, 64, 81] 0到9的平方数



append函数也可如下使用:


list1 = []
 
  
for x in range(10):
 
  
     list1.append(x**2)





4.in 和 not 成员运算符的使用注意事项



in和not in语句只能判断一个层次的成员关系 ,



如 :



list1 = [1,2,3,[4,5,6],7]



4 in list1



输出:



Flase



可见,in语句只能判断一个层次的关系





访问内层元素的方法:



list1[3][1]



输出



:4







5.列表排序函数sort()



reverse方法:



翻转整个列表





sort方法:



不需要参数,从小到大排列





如果要从大到小排列:



可以使用sort的其中一个关键字



list1 = [1,2,3,4,5,6,7,8,9] 
    
 
    

      list1.sort(reverse = True)


输出:



9,8,7,6,5,4,3,2,1,



6.input的使用注意事项




不能写input(“请输入第”i,“个参数:”)

input只能接收最多一个参数

input只能有一个参数,所以可以写成

input("请输入第" + str(i) + "个元素:")