У меня есть код, который работает правильно, когда мой код не находится в def def и не имеет отступов. Вот мой код, когда он имеет отступ.Мой код работает, когда не имеет отступ, а не в функции def в python.
import csv
my_file = open("marqueeTables.csv", "r")
search_data = input("Please enter the data you are looking for")
search_data = (search_data + " metre wide")
#print(search_data)
reader = csv.reader(my_file)
for row in my_file:
if search_data in str(row): # == "6 metre wide":
stripedRow = row.strip()
splitStrippedRow = stripedRow.split(",")[0]
print(splitStrippedRow)
#print(row)
It prints "6 metre wide" or "12 metre wide" depending on whether I type 6 or 12.
Вот аналогичный код, но в опр (только несколько вещей, которые были изменены):
def userInfo():
while True:
w = str(input("What size width marque would you like 6 or 12: "))
if w == "6":
myFile = open("userDetails.csv", "a+")
myFile.write(str(w) + ", ")
myFile.close()
break
elif w == "12":
myFile = open("userDetails.csv", "a+")
myFile.write(str(w) + ", ")
myFile.close()
break
else:
print("Pleas type 6 or 12")
w = (w + "metre wide")
my_file = open("marqueeTables.csv", "r")
#search_data = input("Please enter the data you are looking for")
reader = csv.reader(my_file)
for row in my_file:
if w in str(row):
stripedRow = row.strip()
splitStrippedRow = stripedRow.split(",")[0]
print(splitStrippedRow)
userInfo()
Когда я запускаю код печатает «6 метров в ширину» и «пассажировместимость» и «12 метров в ширину» и «Вместимость места» снова (потому что он находится в таблице дважды.)
Может ли кто-нибудь сказать мне, почему мой код не работает в python, это было бы здорово. Я использую python 3.5. Спасибо
Что значит «не работает»? Пожалуйста, прочитайте [mcve]. –
В вашем втором кодовом блоке вы не вызываете функцию 'userInfo' ... – AlG
Также в вашем втором блоке кода' elif w == "12": 'не должно быть необъективным. – agold