将列表格式化为正确的字符串
Format list into correct string
你好,我有一个问题要做一个测验..我展示我的代码>>>
我的 class 是:
class Question:
def __init__(self, prompt, answer_prompt, answer):
self.prompt = prompt
self.answer_prompt = answer_prompt
self.answer = answer
我的主要是:
from Question import Question
question_prompt = [
"De quels couleur sont les bananes ?",
"De quels couleur sont les pommes ?",
"De quels couleur sont les fraises ?"
]
question1_answers_prompt = [
"(a) Rouge\n",
"(b) Jaune\n",
"(c) Bleue\n\n",
]
question2_answers_prompt = [
"(a) Rouge\n",
"(b) Violette\n",
"(c) Orange\n\n",
]
question3_answers_prompt = [
"(a) Rouge\n",
"(b) Verte\n",
"(c) Jaune\n\n",
]
questions = [
Question(question_prompt[0], question1_answers_prompt[:], 'b'),
Question(question_prompt[1], question2_answers_prompt[:], 'a'),
Question(question_prompt[2], question3_answers_prompt[:], 'a'),
]
def run_test(questions):
score = 0
miss = 0
answered = []
for question in questions:
print(question.prompt)
answer = input(question.answer_prompt)
answered.append(answer)
if answer == question.answer:
score += 1
print(f"Tu as {score} / {len(questions)}")
print(answered)
run_test(questions)
我尝试了一些技术列表理解,但我可以正确格式化我的 question_answers_prompt
列表
我有这样的东西:
\>\>\> ['(a) Rouge\n', '(b) Jaune\n', '(c) Bleue\n\n']
我需要的是:
\>\>\> (a) Rouge
(b) Jaune
(c) Bleue
在这种情况下,您可能希望加入列表的元素:
for question in questions:
print(question.prompt)
answer = input(''.join(question.answer_prompt))
....
输出:
De quels couleur sont les bananes ?
(a) Rouge
(b) Jaune
(c) Bleue
...
我只更改了这行代码:answer = input(question.answer_prompt)
如下所示:
class Question:
def __init__(self, prompt, answer_prompt, answer):
self.prompt = prompt
self.answer_prompt = answer_prompt
self.answer = answer
question_prompt = [
"De quels couleur sont les bananes ?",
"De quels couleur sont les pommes ?",
"De quels couleur sont les fraises ?"
]
question1_answers_prompt = [
"(a) Rouge\n",
"(b) Jaune\n",
"(c) Bleue\n\n",
]
question2_answers_prompt = [
"(a) Rouge\n",
"(b) Violette\n",
"(c) Orange\n\n",
]
question3_answers_prompt = [
"(a) Rouge\n",
"(b) Verte\n",
"(c) Jaune\n\n",
]
questions = [
Question(question_prompt[0], question1_answers_prompt[:], 'b'),
Question(question_prompt[1], question2_answers_prompt[:], 'a'),
Question(question_prompt[2], question3_answers_prompt[:], 'a'),
]
def run_test(questions):
score = 0
miss = 0
answered = []
for question in questions:
print(question.prompt)
answer = input(''.join(a for a in question.answer_prompt))
answered.append(answer)
if answer == question.answer:
score += 1
print(f"Tu as {score} / {len(questions)}")
print(answered)
run_test(questions)
您不能在 answers
定义中添加格式
question1_answers_prompt = ["(a) Rouge", "(b) Jaune", "(c) Bleue", ]
question2_answers_prompt = ["(a) Rouge", "(b) Violette", "(c) Orange", ]
question3_answers_prompt = ["(a) Rouge", "(b) Verte", "(c) Jaune", ]
但只有在使用的时候
您需要在每行前加一个制表符,在每行后加一个换行符,这样的格式 f"\t{a}\n"
加入空字符串以连接每个答案行
for question in questions:
print(question.prompt)
answer = input("".join(f"\t{a}\n" for a in question.answer_prompt))
给予
De quels couleur sont les bananes ?
(a) Rouge
(b) Jaune
(c) Bleue
b
更多风格
添加符号以查看要回答的行
for question in questions:
print(question.prompt)
print("\n".join(f"\t{a}" for a in question.answer_prompt))
answer = input(">> ")
De quels couleur sont les bananes ?
(a) Rouge
(b) Jaune
(c) Bleue
>> a
你好,我有一个问题要做一个测验..我展示我的代码>>> 我的 class 是:
class Question:
def __init__(self, prompt, answer_prompt, answer):
self.prompt = prompt
self.answer_prompt = answer_prompt
self.answer = answer
我的主要是:
from Question import Question
question_prompt = [
"De quels couleur sont les bananes ?",
"De quels couleur sont les pommes ?",
"De quels couleur sont les fraises ?"
]
question1_answers_prompt = [
"(a) Rouge\n",
"(b) Jaune\n",
"(c) Bleue\n\n",
]
question2_answers_prompt = [
"(a) Rouge\n",
"(b) Violette\n",
"(c) Orange\n\n",
]
question3_answers_prompt = [
"(a) Rouge\n",
"(b) Verte\n",
"(c) Jaune\n\n",
]
questions = [
Question(question_prompt[0], question1_answers_prompt[:], 'b'),
Question(question_prompt[1], question2_answers_prompt[:], 'a'),
Question(question_prompt[2], question3_answers_prompt[:], 'a'),
]
def run_test(questions):
score = 0
miss = 0
answered = []
for question in questions:
print(question.prompt)
answer = input(question.answer_prompt)
answered.append(answer)
if answer == question.answer:
score += 1
print(f"Tu as {score} / {len(questions)}")
print(answered)
run_test(questions)
我尝试了一些技术列表理解,但我可以正确格式化我的 question_answers_prompt
列表
我有这样的东西:
\>\>\> ['(a) Rouge\n', '(b) Jaune\n', '(c) Bleue\n\n']
我需要的是:
\>\>\> (a) Rouge
(b) Jaune
(c) Bleue
在这种情况下,您可能希望加入列表的元素:
for question in questions:
print(question.prompt)
answer = input(''.join(question.answer_prompt))
....
输出:
De quels couleur sont les bananes ?
(a) Rouge
(b) Jaune
(c) Bleue
...
我只更改了这行代码:answer = input(question.answer_prompt)
如下所示:
class Question:
def __init__(self, prompt, answer_prompt, answer):
self.prompt = prompt
self.answer_prompt = answer_prompt
self.answer = answer
question_prompt = [
"De quels couleur sont les bananes ?",
"De quels couleur sont les pommes ?",
"De quels couleur sont les fraises ?"
]
question1_answers_prompt = [
"(a) Rouge\n",
"(b) Jaune\n",
"(c) Bleue\n\n",
]
question2_answers_prompt = [
"(a) Rouge\n",
"(b) Violette\n",
"(c) Orange\n\n",
]
question3_answers_prompt = [
"(a) Rouge\n",
"(b) Verte\n",
"(c) Jaune\n\n",
]
questions = [
Question(question_prompt[0], question1_answers_prompt[:], 'b'),
Question(question_prompt[1], question2_answers_prompt[:], 'a'),
Question(question_prompt[2], question3_answers_prompt[:], 'a'),
]
def run_test(questions):
score = 0
miss = 0
answered = []
for question in questions:
print(question.prompt)
answer = input(''.join(a for a in question.answer_prompt))
answered.append(answer)
if answer == question.answer:
score += 1
print(f"Tu as {score} / {len(questions)}")
print(answered)
run_test(questions)
您不能在 answers
定义中添加格式
question1_answers_prompt = ["(a) Rouge", "(b) Jaune", "(c) Bleue", ]
question2_answers_prompt = ["(a) Rouge", "(b) Violette", "(c) Orange", ]
question3_answers_prompt = ["(a) Rouge", "(b) Verte", "(c) Jaune", ]
但只有在使用的时候
您需要在每行前加一个制表符,在每行后加一个换行符,这样的格式
f"\t{a}\n"
加入空字符串以连接每个答案行
for question in questions:
print(question.prompt)
answer = input("".join(f"\t{a}\n" for a in question.answer_prompt))
给予
De quels couleur sont les bananes ?
(a) Rouge
(b) Jaune
(c) Bleue
b
更多风格
添加符号以查看要回答的行
for question in questions:
print(question.prompt)
print("\n".join(f"\t{a}" for a in question.answer_prompt))
answer = input(">> ")
De quels couleur sont les bananes ?
(a) Rouge
(b) Jaune
(c) Bleue
>> a