如何在for循环中得到在循环外定义的变量?Python

2024-09-30 18:14:51 发布

您现在位置:Python中文网/ 问答频道 /正文

当我运行这个Python代码时,我得到一个NameError。但在这段代码中,我试图获取一个在for循环(get)中定义的变量,以便在循环外部使用。如何使用这个变量(get)内外for循环?你知道吗

file = open("f:/py/price.txt", "r")

valRange = 0
cal = 0
totalCst = 0
itmCnt = 0
while (valRange < 10):
     idNumber = int(input("Enter Id number: "))
     for line in file:
          if line.startswith(str(idNumber)):
               get = line.split("=")[1]
          break
     quantity = int(input("Enter qantity: "))
     cal = quantity * int(get)
     totalCst += cal
     itmCnt += quantity

print (totalCst)

Tags: 代码forinputgetlinequantityfilecal
2条回答

再缩进break。你知道吗

 for line in file:
      if line.startswith(str(idNumber)):
           get = line.split("=")[1]
           break

如果没有匹配的行呢?get将没有值。如果没有匹配的行,请确保跳过后续代码。你知道吗

只需在循环之前初始化变量。而且break命令在if之外。 尝试:

file = open("f:/py/price.txt", "r")

valRange = 0
cal = 0
totalCst = 0
itmCnt = 0
while (valRange < 10):
     idNumber = int(input("Enter Id number: "))
     get = 0
     for line in file:
          if line.startswith(str(idNumber)):
               get = line.split("=")[1]
               break
     quantity = int(input("Enter qantity: "))
     cal = quantity * int(get)
     totalCst += cal
     itmCnt += quantity

print (totalCst)   

相关问题 更多 >