我目前正在关注python中的cs课程介绍。代码如下。
school = 'Massachusetts Institute of Technology'
numVowels = 0
numCons = 0
for char in school:
if char == 'a' or char == 'e' or char == 'i' \
or char == 'o' or char == 'u':
numVowels += 1
elif char == 'o' or char == 'M':
print(char)
else:
numCons -= 1
print('numVowels is: ' + str(numVowels))
print('numCons is: ' + str(numCons))
根据我的观察:
numVowels = 12
numCons = -23
口译员说:
numVowels = 11
numCons = -25
这是我从edx课程中得到的一个问题。我试图解决这个问题。
答案 0 :(得分:5)
您的代码似乎区分大小写。快速修复将是
import string
school = 'Massachusetts Institute of Technology'
numVowels = 0
numCons = 0
for char in school.lower():
if char in "aeiou":
numVowels += 1
elif char in string.ascii_letters:
numCons += 1
导致
@Autowired
private EmailTools emailTools;
@Controller
public class RegistrationController {
@RequestMapping(value="/registerUser", method=RequestMethod.POST )
public String registerUser(HttpSession session,Model model,User user){
//RegisterUserDetails of scope prototype
RegisterUserDetails regUserDetails =
appContext.getBean(RegisterUserDetails.class);
//rgistering user in db
regUserDetails.setUser(user);
//sending confirmation email
emailTools.SendEmail(user.getEmail(), subject, content);
return "home";
虽然请注意您的代码不是辅音,只是不是元音或m的字符。
也许请考虑以下内容:
public class EmailTools {
private Properties props;
private Key internalKey;
public EmailTools(Properties props, Key internalKey){
this.props=props;
this.internalKey=internalKey;
}
public synchronized void SendEmail(String toAddress, String subject, String content) {
final String fromAddress = props.getProperty("from.address");
final String password = Encryptor.decrypt(props.getProperty("email.password"),internalKey);
Session session = Session.getInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(fromAddress, password);
}
});
try {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(fromAddress));
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(toAddress));
message.setSubject(subject);
message.setText(content);
Transport.send(message);
System.out.println("Done");
} catch (MessagingException e) {
throw new RuntimeException(e);
}
}
}
虽然这实际上取决于您尝试使用生成的numVowels和numCons变量。如果没有明确的预期产出,很难说。