我需要编写一个计算数字位数之和的代码,这些是问题的确切文本:数字n的数字和是其数字的总和.写一个递归函数digitalSum(n),它取一个正整数n并返回它的数字和.例如,digitalSum(2019)应该返回12,因为2 + 0 + 1 + 9 = 12.这些是我写的代码:
def digitalSum(n):
L=[]
if n < 10:
return n
else:
S=str(n)
for i in S:
L.append(int(i))
return sum(L)
Run Code Online (Sandbox Code Playgroud)
这些代码工作正常,但它不是递归函数,我不允许将任何int更改为str.你能救我吗?
英语中的每个字符都有一个百分比,这些是百分比:
A B C D E F G H I
.0817 .0149 .0278 .0425 .1270 .0223 .0202 .0609 .0697
J K L M N O P Q R
.0015 .0077 .0402 .0241 .0675 .0751 .0193 .0009 .0599
S T U V W X Y Z
.0633 .0906 .0276 .0098 .0236 .0015 .0197 .0007
Run Code Online (Sandbox Code Playgroud)
调用的列表letterGoodness预定义为:
letterGoodness = [.0817,.0149,.0278,.0425,.1270,.0223,.0202,...
Run Code Online (Sandbox Code Playgroud)
我需要找到一个字符串的"善".例如,'I EAT'的优点是:.0697 + .1270 + .0817 + .0906 = .369.这是一个更大问题的一部分,但我需要解决这个问题来解决这个大问题.我开始是这样的:
def goodness(message):
for i in L:
for j in i:
Run Code Online (Sandbox Code Playgroud)
因此,找出如何获得任何角色的出现百分比就足够了.你能帮助我吗?该字符串仅包含大写字母和空格.
可能重复:
返回列表的产品
有没有其他方法来获得列表的产品,而不是这样:
def prod(L):
p=1
for i in L:
p= i * p
return p
Run Code Online (Sandbox Code Playgroud)
这段代码是正确的,但我需要找到另一种方法来做到这一点.我真的找不到它.
我正在尝试编写一个代码,我想问你怎么能问一个while循环重复,直到它找到一个单词,例如在我的情况下在列表中的END.
L=[]
while "END" (not) in L :
L=L.append(something)
Run Code Online (Sandbox Code Playgroud)
问你,如果你不明白我的意思.
我正在做一些python在线教程,并且我在练习中遇到困难:回文是一个拼写相同向前和向后拼写的单词.例如,这个词
赛车
是一个回文:第一个和最后一个字母是相同的(r),第二个和倒数第二个字母是相同的(a)等.写一个函数isPalindrome(S),它以字符串S作为输入,并返回True如果字符串是回文,则为False.这些是我写的代码:
def isPalindrome(S):
if S[0] == S[-1]
return print("True")
elif S[0] == S[-1] and S[1] == S[-2] :
return print("True")
else:
return print("False")
Run Code Online (Sandbox Code Playgroud)
但是,如果单词是例如,sarcas ,,则输出是incorect.所以我需要修复我的代码所以它适用于任何单词.