我想分配輸入,相對於他們的len()
s的相關領域。問題是這些領域也有條件。分配輸入,就其len()
第1到第10個字段,允許< 25個字符。第11到第20個字段允許< 100個字符。
我要的是,下面的代碼採取user_input[i]
,檢查len()
,如果len(user_input[i])
是< 25個字符,賦值給第一個字段,然後移動到下一個輸入;但在檢查其len()
時也從第二場開始。
當輸入的輸入長度在25到100個字符之間時,應將其分配給第11-20個字段。就像上面一樣,一旦第11位填滿,它應該從第12場開始。
請注意,我希望腳本先檢查<條件。如果填充了該字段,則可以將輸入分配給輸入端<。
下面的代碼,是不完整的,並且遠遠不是真實的,這就是我可以做:)
import csv
import os
user_input = []
def getting_text(entered_text):
if entered_text == "done":
print "entering the texts are done!"
elif entered_text == "":
getting_text(raw_input("you've entered an empty text, please try again\n"))
else:
user_input.append(entered_text)
getting_text(raw_input("Enter the text or write done to finish entering\n"))
getting_text(raw_input("Enter the first text\n"))
with open("trial.csv", "w") as csvfile:
fieldnames = ["1st field", "2nd field", "3rd field", "4th field", "5th field", "6th field", "7th field", "8th field", "9th field", "10th field", "11th field", "12th field", "13th field", "14th field", "15th field", "16th field", "17th field", "18th field", "19th field", "20th field"]
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for i in range(0, len(user_input)):
writer.writerow({"1st field": user_input[i], "2nd field": "input will be here", "3rd field": "input will be here", "4th field": "input will be here", "5th field": "input will be here", "6th field": "input will be here"}) #and so on :)
os.startfile("trial.csv")
這是這個問題的延續,所以請考慮 你」再談到這裏新啓動的:) Python list order
因此,您希望將用戶輸入置於足夠長的第一個未佔用字段中以容納該輸入。你的問題是什麼? –
我想不出如何做到這一點。我假設我必須爲每個字段分配一個變量並將它們設置爲25/100;然後在forloop中,它會檢查len(user_input [i])並將其分配給相關字段?我迷路了。 – firko