Python 我如何将其拆分为2或3个函数?
我只是想知道如何把它分成不同的函数,比如说2或3个函数?我还不太擅长用函数传递参数。你会建议这样做,还是我应该保持它在一个函数中的方式,因为它是一个while循环?顺便说一句,这是一门初级编程课,所以它很长Python 我如何将其拆分为2或3个函数?,python,python-3.x,Python,Python 3.x,我只是想知道如何把它分成不同的函数,比如说2或3个函数?我还不太擅长用函数传递参数。你会建议这样做,还是我应该保持它在一个函数中的方式,因为它是一个while循环?顺便说一句,这是一门初级编程课,所以它很长 def sumOfDoublePlace(userChoice): lenChecker = len(str(userChoice)) counter = 0 sumNumber = 0 userChoice = int(userChoice) whi
def sumOfDoublePlace(userChoice):
lenChecker = len(str(userChoice))
counter = 0
sumNumber = 0
userChoice = int(userChoice)
while counter < lenChecker-1:
counter += 1
endDigit, userChoice = divmod(userChoice, 10)
if counter % 2 == 0:
evenNumber = endDigit * 2
if evenNumber < 10:
sumNumber = sumNumber + evenNumber
else:
oddDigit = endDigit % 10
firstDigit = endDigit // 10
oddSum = oddDigit + firstDigit
sumNumber = sumNumber + oddSum
else:
sumNumber = sumNumber + endDigit
if sumNumber % 10 == 0:
print('This card is valid')
else:
print('This card is invalid')
def sumOfDoublePlace(用户选择):
lenChecker=len(str(userChoice))
计数器=0
sumNumber=0
userChoice=int(userChoice)
当计数器<1时:
计数器+=1
endDigit,userChoice=divmod(userChoice,10)
如果计数器%2==0:
偶数=尾数*2
如果偶数小于10:
sumNumber=sumNumber+evenNumber
其他:
oddDigit=结束位%10
firstDigit=endDigit//10
oddSum=oddDigit+firstDigit
sumNumber=sumNumber+oddSum
其他:
sumNumber=sumNumber+endDigit
如果sumNumber%10==0:
打印('此卡有效')
其他:
打印('此卡无效')
总的来说,我认为这应该是一个单一的例程。然而,您正在走一条有点曲折的道路来解决问题。当原始文本中的数字完全可以访问时,您需要做大量的工作来从卡号的整数版本中提取数字
以下是访问所需字符串位置的开始:
def isValidCardNumber(cardNumber):
num_len = len(cardNumber)
last = int(cardNumber[-1]) # grab the last digit; convert to integer
odds = cardNumber[0:-1:2] # positions 0, 2, 4, ... last-1
evens = cardNumber[1:-1:2] # positions 1, 3, 5, ... last-1
# For each list of digits, make a list of their integer equivalents.
# ... and immediately take the sum of those integers.
odd_sum = sum([int(digit) for digit in odds])
even_sum = sum([int(digit) for digit in evens])
剩下的就留给你了。:-) 总的来说,我认为这应该是一个单一的常规。然而,您正在走一条有点曲折的道路来解决问题。当原始文本中的数字完全可以访问时,您需要做大量的工作来从卡号的整数版本中提取数字 以下是访问所需字符串位置的开始:
def isValidCardNumber(cardNumber):
num_len = len(cardNumber)
last = int(cardNumber[-1]) # grab the last digit; convert to integer
odds = cardNumber[0:-1:2] # positions 0, 2, 4, ... last-1
evens = cardNumber[1:-1:2] # positions 1, 3, 5, ... last-1
# For each list of digits, make a list of their integer equivalents.
# ... and immediately take the sum of those integers.
odd_sum = sum([int(digit) for digit in odds])
even_sum = sum([int(digit) for digit in evens])
剩下的就留给你了。:-) 传递的是什么?该函数的目的是什么?该函数基本上获取userinput(在本例中是一个13-16位的信用卡号,该函数执行算法来验证它是否为有效的信用卡号)。userChoice是用户输入的存储位置…以及什么构成“有效”?这似乎是古代的奇偶校验和算法;你认为哪些子函数有意义?此外,你还没有费心使用lenChecker值。你可能想完成这部分作业。这是一个编程入门课程,所以到目前为止一切都很基本,我还没有学到很多类似的comp复杂的函数或术语,除此之外,我在while循环中使用了lenChecker。传递的是什么?这个函数的目的是什么?这个函数基本上得到了用户输入(在本例中,它是一个13-16位的信用卡号,此函数执行算法以验证它是否是有效的信用卡号。userChoice是存储用户输入的位置…以及什么构成“有效”?这似乎是古代的奇偶校验和算法;你认为哪些子函数有意义?此外,你还没有费心使用lenChecker值。你可能想完成这部分作业。这是一个编程入门课程,所以到目前为止一切都很基本,我还没有学到很多类似的comp复杂的函数或术语,除此之外,我在while循环中使用了lenChecker,这就是我一直在尝试的输入!哈哈,我只是不知道如何将它们转换为字符串中的整数,但我最初的想法只是不知道如何扩展它,因为我们在2个类之前才开始讨论字符串但非常感谢您!+1了解原始代码的行为。我无法理解问题中提到的原始代码在做什么。@匿名:教授编程的优点之一…:-)这就是我一直试图对输入做的!哈哈,我只是不知道如何将它们转换成字符串中的整数,但我最初的想法只是不知道如何扩展它,因为我们在2个类之前才开始讨论字符串,但非常感谢你!+1了解原始代码的行为。我无法理解掌握问题中提到的原始代码在做什么。@anonymous:教授编程的优点之一…:-)