测试你的Python 水平----2

1、问:python中,input和raw_input的异同?


答:input和raw_input都是用来读取控制台输入的,不同的是,input()返回一个数值类型,而raw_input()则会返回字符串类型;如果键入非数字,则input()函数要求以字符串引用的形式输入。


2、 问:简述python中pass语句的作用。


答:在python中,pass语句不执行任何操作,相当于占位符,为后续程序的完善预留占位。


3、f=lambda x:x and 1                   这个函数可以这样翻译  def f(x):
print f(0)                                                                                                                      if x:
print f(1)                                                                                                                          return 1
print f(2)                                                                                                                      else:
问:程序的输入分别是什么?                                                                                       return 0
答:0,1,1

4、 A=[1,2,3,1,2,3,1,2,3,1,2,3,1,2,3]
问:编写如何实现删除list中的重复元素?
答:比较简洁的方法:list(set(A))

5、 问:使用python实现“rot13”加密。即把字母表中每个字母用其后第13个字母代替。举例来说,’a’将替换为’n’,’X’将替换为’K’。
输入:This is a short sentence.
输出:Guvf vf n fubeg fragrapr. 来自:core python

答:


import string
alp=string.letters
before=’This is a short sentence.’
after=’’

for ch in before:

   if ch in alp:

       if 'a'<=ch<='z':

           after+=chr((ord(ch)-ord('a')+13)%26+ord('a'))

       else:

           after+=chr((ord(ch)-ord('A')+13)%26+ord('A')

   else:

       after+=ch


print before
print after


你可能感兴趣的:(测试你的Python 水平----2)