【问题标题】:adding and variable assignment in PythonPython中的添加和变量赋值
【发布时间】:2017-10-11 21:54:27
【问题描述】:
def sumOfStudentDigits():  
    studentdigit = (studentdigit1 + studentdigit2 + studentdigit3 + studentdigit4 + studentdigit5 + studentdigit6 + studentdigit7)

    studentdigit1=3 studentdigit2=6 studentdigit3=9 studentdigit4=3 
           studentdigit5=1 studentdigit6=0 studentdigit7=0

我需要将七位数字分配给七个变量并将它们相加。

【问题讨论】:

  • 你能澄清一下问题是什么吗?您尝试构建什么类型的函数?
  • 我是一名正在做作业的学生,​​我必须为程序制作此代码,以便在我打开它时识别我是谁
  • 当我尝试运行程序时,它会出现语法错误,我不知道我做错了什么
  • 您的所有“studentdigit[1-7]”变量均未正确定义。该函数是否应该将数字相加?
  • 是的,我之前有这个变量,但它仍然说第一行代码存在语法错误

标签: python jes


【解决方案1】:

如果您对如何将studentdigits 放入您的函数感到困惑,您可以像这样将它们传递给函数:

def sumOfStudentDigits(studentdigit1, studentdigit2, studentdigit3,
                       studentdigit4, studentdigit5, studentdigit6,
                       studentdigit7):
    studentdigit = (studentdigit1
                    + studentdigit2
                    + studentdigit3
                    + studentdigit4
                    + studentdigit5
                    + studentdigit6
                    + studentdigit7)

我的建议是将所有这些数字存储在一个列表中,然后仅将该列表传递给函数,然后遍历该列表:

listofdigits = [studentdigit1,
                studentdigit2,
                studentdigit3,
                studentdigit4,
                studentdigit5,
                studentdigit6,
                studentdigit7]

def sumOfStudentDigits(studentdigitlist):
    sum = 0
    for digit in studentdigitlist:
        sum += digit
        return sum

print(sumOfStudentDigits(listofdigits))

我们必须先设置sum = 0,然后才能使用sum,因为python想在使用它之前知道sum是什么,所以我们分配它0,这样我们就可以从那里开始计数。 注意studentdigitlistlistofdigits 有何不同? 您可以将任何名称的列表传递给函数,重要的是您在整个函数定义 中使用您在def myfunction(yourvariable): 中使用的变量(即在这种情况下为列表)名称。 Python 将您传入函数的任何内容替换为函数中具有该占位符名称的位置。然后当你运行函数时: 例如

def myfunction(yourvariable):
    # do stuff with yourvariable
    myvariable = myvariable + 7

somenumber = 2
myfunction(somenumber)
# now somenumber will equal 9

【讨论】:

  • 我输入了这段代码,但我不明白如何划分代码示例 greenfoot 如何使用括号来划分不同的代码。因为它仍然出现语法错误
  • 什么是greenfoot?你被告知语法错误在哪一行?
  • 他们第一行说我有语法错误
  • 第一行是什么?
  • 数字列表
【解决方案2】:

你也可以传入整个学号并在你的函数中分解它。

def sum_student_digits(student_id):
    running_total = 0

    for i in str(student_id):
        running_total += int(i)

    return running_total

print(sum_student_digits(12345))

【讨论】:

    【解决方案3】:

    保持基本。您需要分配七位数的学生编号,每个变量一个。

    def sumOfStudentDigits():  
        digit1 = 3
        digit2 = 6
        digit3 = 9
        digit4 = 3
        digit5 = 1
        digit6 = 0
        digit7 = 0
    

    然后将它们相加:

        print(digit1 + digit2 + digit3 + digit4 + digit5 + digit6 + digit7)
    

    请注意,变量赋值不能在同一行,并且需要在总和之前。

    【讨论】:

      猜你喜欢
      • 2020-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-03
      • 1970-01-01
      • 2017-11-29
      • 2015-08-04
      相关资源
      最近更新 更多