擅长:python、mysql、java
<p>好的,这是基本的字符串处理</p>
<p>伪代码是什么:</p>
<pre><code>For each item in <str1>:
split out the number
split out the course-name
add number:course to a dictionary
</code></pre>
<p>给出代码:</p>
<pre><code>course_dict = {}
for pair in str1:
course_number, course_name = pair.split(' ', 1) # TODO: handle double-spaces, etc.
course_dict[course_number] = course_name
</code></pre>
<p>记下一点伪代码总是有帮助的,这样可以帮助你更好地理解任务。这段代码中的关键是<code>split(' ', 1)</code>——由于第二个参数,这只进行了一次拆分</p>
<p>那么-那有问题的第一个条目呢,我们怎么能发现呢?
好吧,代码中的一些基本错误处理会捕捉到它,拥有更好的错误处理总是很好的</p>
<pre><code>course_dict = {}
for pair in str1:
course_number, course_name = pair.split(' ', 1) # TODO: handle double-spaces, etc.
# Check that course_number is really a number
try:
num = int(course_number)
# No error, so it was a number -> good to go
course_dict[course_number] = course_name
except:
# it's not a number
pass
</code></pre>