没注意 把x y改成 a b 应该满足题目了
def divideExactly(x, y):
list1 = []
for i in range(x, y):
if i % 7 == 0:
if i % 5 != 0:
list1.append(i)
l = ','.join(str(i) for i in list1)
print(l)
divideExactly(10, 100)
使用关键词 def 声明这是一个函数1def 函数名 (参数):
2语句块
参数可以没有,也可以有多个,用逗号隔开,第一行称为函数头,结尾一定要加冒号,代表开始进入函数体的执行。
语句块也就是函数体,是关于这个函数要实现的功能的语句,语句要有返回值即return语句,如果没有return语句,就代表return none.
定义函数需要注意的几个事项:
1、def开头,代表定义函数
2、def和函数名中间要敲一个空格
3、之后是函数名,这个名字用户自己起的,方便自己使用就好
4、函数名后跟圆括号(),代表定义的是函数,里边可加参数
5、圆括号()后一定要加冒号: 这个很重要,不要忘记了
6、代码块部分,是由语句组成,要有缩进
7、函数要有返回值return
下面是几个例子:
1 #python中的函数定义,使用和传参
2 def_str = '''\
3 python中的函数以如下形式声明:
4
5 def 函数名称([参数1,参数2,参数3......]):
6 执行语句
7
8 如:
9
10 def helloWorld():
11 print('hello')
12
13 if __name__ == '_main__':
14 helloWorld()
15
16 输出:hello
17 '''
18 print(def_str)
19
20 #下面进行举例说明
21
22 def helloWorld():
23 print('输出:hello')
24
25 if __name__ == '__main__':
26 helloWorld()
27
28 print('''\
29 ################################################
30
31 函数可以带参数和返回值,参数将按从左到右的匹配,
32 参数可设置默认值,当使用函数时没给相应的参数时,
33 会按照默认值进行赋值
34
35 ################################################
36 ''')
37
38 #定义一个方法:x的y次方
39 def myMethod(x,y):
40 return x**y
41
42 def fib(n):
43 a , b = 0 , 1
44 while a <n:
45 print(a, end=' ')
46 a , b = b , a + b
47 print()
48
49 #获取一个新的数组
50 #@param oldList 原数组
51 #@param length 要添加的长度
52 def getList(oldList,length):
53 if length >0:
54 for i in range(0,length):
55 oldList.append(i)
56 return oldList
57 else:
58 return '你输入的长度小于0'
59
60 def ask_ok(prompt, retries=4, complaint='Yes or no, please!'):
61 while True:
62 ok = input(prompt)
63 if ok in ('y', 'ye', 'yes'):
64 return True
65 if ok in ('n', 'no', 'nop', 'nope'):
66 return False
67 retries = retries - 1
68 if retries <0:
69 raise IOError('refusenik user')
70 print(complaint)
71
72 if __name__ == '__main__':
73 x = 3
74 y = 4
75 n = 2000
76 print(x , '的' , y , '次方(' ,x ,'**' , y ,') = ' , myMethod(x,y))
77 print('函数fib(n),当n =' ,n)
78 fib(n)
79 print(getList(['begin'],-10))
80 ask_ok('y')
运行效果:
Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>>================================ RESTART ================================
>>>
python中的函数以如下形式声明:
def 函数名称([参数1,参数2,参数3......]):
执行语句
如:
def helloWorld():
print('hello')
if __name__ == '_main__':
helloWorld()
输出:hello
输出:hello
################################################
函数可以带参数和返回值,参数将按从左到右的匹配,
参数可设置默认值,当使用函数时没给相应的参数时,
会按照默认值进行赋值
################################################
3 的 4 次方( 3 ** 4 ) = 81
函数fib(n),当n = 2000
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
你输入的长度小于0
y输出:hello
Yes or no, please!
y
Yes or no, please!
y
Yes or no, please!
y
Yes or no, please!
y
Traceback (most recent call last):
File "E:/Python33/python_workspace/test_function.py", line 80, in <module>
ask_ok('y')
File "E:/Python33/python_workspace/test_function.py", line 69, in ask_ok
raise IOError('refusenik user')
OSError: refusenik user