Notes en classe:
Réflexions sur la dernière question:
comme d' habitude lorsque l'affectation directe:
def i(x,y):
print(x,y)
i(3,5,9)
Cette erreur inévitable, parce que les deux variables correspondant au nombre de trois
et le dernier à parler dans les paramètres de collecte de classe:
def i(*x,y):
print(len(x),y)
i(3,5,9)
A ce stade , il sera erreur, car la valeur par défaut 359 a tous les x, y aucun argument cette fois
si peu tortue sera appelée soit les paramètres clés i tels que:
def i(*x,y):
print(len(x),y)
i(3,5,y=9)
Ou ajouter des paramètres par défaut
def i(*x,y=4):
print(len(x),y)
i(3,5,9)
seulement à droite
1. fonction directement en fonction du document et aux notes d'écriture avec un « # » Quelle est la différence?
R: La fonction d'écrire le document est de laisser quelqu'un d' autre peut mieux comprendre votre fonction, il est donc une bonne habitude:
>>> def Add(x,y):
'add two numbers'
return x+y
***我们看到在函数开头写下的字符串Ta是不会打印出来的,但Ta会作为函数的一部分存储起来,这个我们称之为函数文档字符串,Ta的功能跟注释是一样的。***
函数的文档字符串可以按如下方式访问:
>>> Add.__doc__
'add two numbers'
另外,我们用help()来访问这个函数也可以看到这个文档字符串:
>>> help(Add)
Help on function Add in module __main__:
Add(x, y)
add two numbers
转载自:https://www.jianshu.com/p/38540d75521c
>>>
0. écrire une fonction satisfait aux exigences suivantes:
a) est calculée en multipliant l' ensemble des paramètres d' impression et de la base (base = 3) le résultat de
b) si les paramètres dernier paramètre (base = 5), la base est fixée à 5, la base calculée comme la somme ne participe pas.
自己的答案:
def number(x):
for each in x:
a = 0
eng = str(each)
#注意这里要为str找一个赋值变量
if eng.endswith('5'):
a = 1
break
all = 0
#赋值都在for 循环外,避免出错
for i in x:
num = int(i)
all += num
result = 0
if a == 1:
result = all * 5
else:
result = all * 3
return result
print(number((14,16,15,1,14,300)))
Leur réponse n'est pas une utilisation très flexible parlé de fonction de contenu de classe
meilleure réponse:
def Sum(*params,base=3):
#添加了一个默认参数base
#用搜集参数符号*,从而使得params可以容纳多个数据
result = 0
for i in params:
result += i
result *= base
print('结果是:', result)
Sum(1, 2, 3, 4, 5)
Sum(1, 2, 3, 4, 5, base=5)
#人为的当需要改变时,输入关键字参数使得base=5
输出:
结果是: 45
结果是: 75
Reproduit de: https: //www.jianshu.com/p/38540d75521c
1. Vous cherchez nombre narcissiques
questions posées: Si un nombre à 3 chiffres égal au cube et vous dit ce nombre est le nombre de jonquilles. 153 = 1, par exemple, 3 + 5 3 + 3 ^ 3, 153 est donc un jonquilles numériques. Ecrire un programme pour trouver tous les jonquilles numéros.
自己的答案:
def flower():
#括号可以不用定义参数
for x in range(10,1000):
both = 0
temp = x
#这里必须用temp赋值,不然x在while会被改变,从而导致if函数无效
while temp:
a = temp % 10
both += a**3
temp = temp //10
if both == x:
print ('水仙花数为:',x)
else:
continue
flower()
Ligne de code:
转自:https://www.jianshu.com/p/38540d75521c
a = [i**3+j**3+k**3 for i in range(1, 10) for j in range(0, 10) for k in range(0, 10) if i*100+j*10+k == i**3+j**3+k**3]
2. Ecrire une findstr fonction (), la fonction statistique du nombre de fois une longueur de 2 sous-chaîne se produisant dans une autre chaîne. Par exemple: En supposant que la chaîne de caractères d'entrée est « Vous ne pouvez pas améliorer votre passé, mais vous pouvez améliorer votre avenir Une fois de temps perdu, la vie est gaspillée .. », la sous-chaîne « im », l'impression est exécutée après la fonction « dans la chaîne de lettre sous chaîne cible PCC apparaît trois fois ".
def findstr():
a='You cannot improve your past, but you can improve your future. Once time is wasted, life is wasted'
i=a.count('im')
print('子字母串在目标字符中总共出现:',i,'次')
findstr()
Après les améliorations:
def findstr():
print('请输入您想了解的英文字母:',end='')
a=input()
while not a.isalpha():
print('只能输入英文,请重新输入:',end='')
a=input()
print('请输入您要查询的字母:',end='')
b = input()
i=a.count(b)
print('子字母串在目标字符中总共出现:',i,'次')
findstr()
Résumé: voir ci-dessus