1. Write a Python program to reverse a string.
Sample String : "1234abcd"
Expected Output : "dcba4321"
(该题是将字符串反转)
def string_nu(str2):
str1 = ''
dfg=len(str2)
while dfg > 0:
str1 += str2[dfg-1]
dfg= dfg-1
return str1
print(string_nu("12345asdf"))
打印结果
fdsa54321
思路是从后往前,当然这题也可以用递归方法处理,
def func(s):
if len(s) <1:
return s
return func(s[1:])+s[0]
s="123sad"
print(func(s))
打印结果
das321
递归法的关键步骤是:return func(s[1: ])+s[0] ,另外还有字符串的结束条件判断
2.一个Python函数,用于计算一个数字(非负整数)的阶乘。函数接受数字作为参数。
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
n=int(input("Input is : "))
print(factorial(n))
打印结果
Input is : 4
24
3.Write a Python function to check whether a number is in a given range.
def test_range(n):
if n in range(3,9):
print(" %s is right"%str(n))
else:
print("no")
test_range(5)
打印结果
5 is right
4 Write a Python function that accepts a string and calculate the number of upper case letters and lower case letters.
Sample String : 'The quick Brow Fox'
Expected Output :
No. of Upper case characters : 3
No. of Lower case Characters : 12
def string_test(s):
d={"UPPER_CASE":0, "LOWER_CASE":0}
for c in s:
if c.isupper():
d["UPPER_CASE"]+=1
elif c.islower():
d["LOWER_CASE"]+=1
else:
pass
print ("Original String : ", s)
print ("No. of Upper case characters : ", d["UPPER_CASE"])
print ("No. of Lower case Characters : ", d["LOWER_CASE"])
string_test('The quick Brow Fox')
打印结果
Original String : ThequickBrowFox
No. of Upper case characters : 3
No. of Lower case Characters : 12
这道题判断字符串大小字母是调用了isupper()函数和islower()函数
5.编写一个Python程序来检测函数中声明的局部变量的数量
Write a Python program to detect the number of local variables declared in a function.
def vbn():
x = 1
i = 1
y = 2
z = 5
print(vbn.__code__.co_nlocals)
打印结果
4
6.
编写一个Python程序来访问函数内部的函数
def test(a):
def add(b):
nonlocal a
return a+b
return add
func= test(4)
print(func(4))
打印结果
8
nonlocal 适用于嵌套函数中内部函数修改外部变量的值
global适用于函数内部修改全局变量的值;global与nonlocal关键字
7.Write a Python function that takes a list and returns a new list with unique elements of the first list.
Sample List : [1,2,3,3,3,3,4,5]
Unique List : [1, 2, 3, 4, 5]
def unique_list(l):
x = []
for a in l:
if a not in x:
x.append(a)
return x
print(unique_list([1,2,3,3,3,3,4,5]))
打印结果
[1, 2, 3, 4, 5]
这题用了Python List append()方法,append() 方法用于在列表末尾添加新的对象。
append()方法语法:
list.append(obj) ,obj -- 添加到列表末尾的对象。
8.Write a Python program to print the even numbers from a given list.
Sample List : [1, 2, 3, 4, 5, 6, 7, 8, 9]
Expected Result : [2, 4, 6, 8]
这题与第7题类似,代码如下:
def u_list(l):
x = [ ]
for z in l :
if z % 2 == 0 :
x.append(z)
return x
print(u_list([1,2,3,4,5,6,7,8,9]))
打印结果
[2, 4, 6, 8]
9.编写一个Python函数,该函数将一个数字作为参数,并检查该数字是否为素数。
注意:素数(或素数)是一个大于1的自然数,除了1和本身没有正因数。
def v_ans(l):
if l == 1:
return False
elif l == 2:
return True
else:
for x in range(2,l):
if l % x == 0:
return False
return True
print(v_ans(3))
打印结果
True
10.编写一个Python函数,检查传递的字符串是否回文。
def u_string(var):
left_var = 0
right_var = len(var) - 1
while right_var >= left_var:
if not var[left_var] == var[right_var]:
return False
left_var +=1
right_var -=1
return True
print(u_string("acbcdcbca"))
打印结果
True
11.编写一个Python函数来检查字符串是否为pangram。
注意:Pangrams是指含有至少一次字母表中每个字母的单词或句子。
import string, sys
def ispangram(str1, alphabet=string.ascii_lowercase):
alphaset = set(alphabet)
return alphaset <= set(str1.lower())
print ( ispangram('The quick brown fox jumps over the lazy dog'))
打印结果
True