Python 使用字符串和字符循环
嘿,伙计们,有人能帮我做点什么吗。我想构建一个循环,其中用户输入应该只包含1个字符“@”,并继续循环,直到用户的输入在其邮件中只包含一个@为止。这有助于构建循环吗? 这是我的最后一个方法,我尝试了很多方法,我删除了,但这是最后一个Python 使用字符串和字符循环,python,loops,Python,Loops,嘿,伙计们,有人能帮我做点什么吗。我想构建一个循环,其中用户输入应该只包含1个字符“@”,并继续循环,直到用户的输入在其邮件中只包含一个@为止。这有助于构建循环吗? 这是我的最后一个方法,我尝试了很多方法,我删除了,但这是最后一个 mail = input("enter email address: ") count = {} for character in mail: count.setdefault(character, 0) count[charac
mail = input("enter email address: ")
count = {}
for character in mail:
count.setdefault(character, 0)
count[character] = count[character] + 1
x = int(count['@'])
while x != 1:
print("Invalid mail !! (error in '@')")
mail = input("Enter valid mail: ")
print(count)
您需要使用infinte循环并使用if条件中断。您可以这样做:
while True:
mail = input("enter email address: ")
count = {}
for character in mail:
count.setdefault(character, 0)
count[character] = count[character] + 1
x = int(count['@'])
if not x == 1:
print("Invalid mail !! (error in '@')")
continue
else:
break
在这里,我使用无限循环和if条件一次又一次地向用户请求新电子邮件,并在它正确后将其中断。我使用了
count
变量,而不是字典
count = 0
mail = input('enter email address: ')
while True:
for character in mail:
if character == '@':
count += 1
if count != 1:
count = 0
print('Invalid mail !! (error in \'@\')')
mail = input('Enter valid mail: ')
else:
break
python
中有一个计算字符数的函数。
使用count
功能,您的代码可以减少为以下内容:
while True:
mail = input("enter email address: ")
if mail.count('@') != 1:
print("Invalid mail !! (error in '@')")
else:
break
结果是:
>>> python test.py
enter email address: myemail
Invalid mail !! (error in '@')
enter email address: myemail@provider@com
Invalid mail !! (error in '@')
enter email address: myemail@provider.com
请添加到目前为止您编写的脚本。这段代码有什么问题?您的while循环不会重新评估新输入。