【发布时间】:2020-09-30 13:13:15
【问题描述】:
我编写了这段代码,它适用于以下情况:
编写代码来检查通过 input() 给出的字符串是否只包含有效字符,但一旦遇到一个无效字符就停止。所以如果字符串是有效的打印有效的字符串。如果字符串无效,则打印无效字符串直到该点。
但是现在我必须为此使用 while 循环,但我无法完成,你们能帮我或向我解释一下如何将此代码转换为 while 循环,同时保持完全相同的功能。
file = input()
invalid_letter_found = False
correct_letters = []
for current_letter in file:
if current_letter in ['A', 'T', 'G', 'C']:
correct_letters.append(current_letter)
continue
elif current_letter != ['A', 'T', 'G', 'C']:
invalid_letter_found = True
break
if invalid_letter_found == True:
print(f'invalid {"".join(correct_letters)}')
else:
print(f'valid {"".join(correct_letters)}')
【问题讨论】:
-
Python 的 'for' 和 'while' 语句都用于构造循环。 'for' 语句按照它们在序列中出现的顺序迭代任何序列(列表或字符串)的项目。 “while”语句通常涉及一个或多个变量,这些变量在进入循环开始时或之前被初始化,然后在循环内的某处更新。
-
要解决您的问题,1. 确定迭代列表的方法 2. 查看 while True 循环的构造以及如何最好地结束循环
标签: python-3.x for-loop while-loop