不区分大小写的用户输入字符串

时间:2019-06-21 18:24:05

标签: python user-input case-insensitive

哪个函数使用户输入字符串不区分大小写?

correctAnswer = "London"

userGuess = input("What is the capital of  Great Britain?: ")

if userGuess == "London":
    print("Correct!")
else:
    print("Wrong")

我在字符串后尝试了以下功能:

.lower()
.capitalize()
.casefold()

输出仍然是“错误的”,尽管输入为:
-伦敦
-lOndoN
-loNDON

以此类推。

4 个答案:

答案 0 :(得分:5)

在字符串比较中,正确答案本身的首字母大写。

correctAnswer = "london"

userGuess = input("What is the capital of  Great Britain?: ").lower()

if userGuess == correctAnswer:
    print("Correct!")
else:
    print("Wrong")

答案 1 :(得分:1)

我认为您的问题是correctAnswer不是小写,而是titled。 Python不会区分大小写,但是您可以将相同的函数应用于正确的答案,并使用userGuess进行比较。

您的选择是:

  1. .lower()应用于correctAnswer
  2. correctAnswer更改为correctAnswer = "london"并使用userGuess.lower()
  3. 使用userGuess.title()correctAnswer = "London"

答案 2 :(得分:0)

比较不区分大小写的字符串时,通常将所有字母与小写字母进行比较。 实际上,在您的程序中,没有必要将输入与if (move_uploaded_file($_FILES['recording']['tmp_name'], $uploadfile_recording)) { echo "Datei ist valide und wurde erfolgreich hochgeladen.\n"; } else { echo "<center><h3>Fehlercode MPU_01, melden sie sich mit dem Fehlercode beim Administrator!\n</h3></center>"; } //IMAGE if (move_uploaded_file($_FILES['imagefile']['tmp_name'], $uploadfile_image)) { echo "Datei ist valide und wurde erfolgreich hochgeladen.\n"; } else { echo "<center><h3>Fehlercode MPU_02, melden sie sich mit dem Fehlercode beim Administrator!\n</h3></center>"; } //PDF if (move_uploaded_file($_FILES['leitfadenpdf']['tmp_name'], $uploadfile_pdf)) { echo "Datei ist valide und wurde erfolgreich hochgeladen.\n"; } else { echo "<center><h3>Fehlercode MPU_03, melden sie sich mit dem Fehlercode beim Administrator!\n</h3></center>"; } //SQL EINTRAG $eintrag = sprintf("INSERT INTO podcast_data (title, recording, date, speaker, series, description, imagefile, leitfadenpdf, visable) VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')", mysqli_real_escape_string($db, $title), mysqli_real_escape_string($db, $uploadfile_recording), mysqli_real_escape_string($db, $date), mysqli_real_escape_string($db, $speaker), mysqli_real_escape_string($db, $series), mysqli_real_escape_string($db, $description), mysqli_real_escape_string($db, $uploadfile_image), mysqli_real_escape_string($db, $uploadfile_pdf), mysqli_real_escape_string($db, $visable)); $eingetragen = mysqli_query($db, $eintrag); if($eingetragen == true) { echo "YES"; } else { echo "wrong"; } (大写的“ l”)进行比较,这就是为什么您应该与London比较的原因。 比较方式如下:

london

注意

我在if语句中而不是在输入语句中使用了correct_answer = "london" userGuess = input("What is the capital of Great Britain?: ") if userGuess.lower() == correct_answer: print("Correct!") else: print("Wrong") 方法。这样比较好,因此您可以保持用户的输入不变,也许以后可以用其他方式使用它。

答案 3 :(得分:0)

您可以尝试以下方法:

correctAnswer = "London"

userGuess = input("What is the capital of  Great Britain?: ")
userGuess = userGuess.capitalize()
#print(userGuess)

if userGuess == correctAnswer:
    print("Correct!")
else:
    print("Wrong")

capitalize()方法将字符串的第一个字符转换为大写(大写)字母。