【问题标题】:Python programming: printing an input in upper case [closed]Python编程:以大写形式打印输入[关闭]
【发布时间】:2016-03-29 17:57:30
【问题描述】:

我可以打印一个大写的字符串,但是当我要求用户输入一个句子时它不能工作。我试过这段代码:

sntc = str(input ("Please enter a sentence."))
str.upper (sntc)

还有这个:

sntc = input ("Please enter a sentence.")
str.upper (sntc)

但这些似乎都不起作用。有什么想法吗?

【问题讨论】:

  • 这显然不是由拼写错误引起的,而且显然是可重现的行为。关闭原因无效,所以我投票重新开放。
  • @thebjorn 说句公道话,它原本应该被 stackoverflow.com/questions/9189172/… 欺骗而关闭
  • @snakecharmerb 毋庸置疑,并且欺骗关闭更加有用(对于 OP 和后来发现问题的人)。

标签: python


【解决方案1】:

Python 字符串是不可变的,所以像 str.upper() 这样的字符串方法会返回一个新字符串。

所以在你的情况下,你需要这样做:

upper_string = sntc.upper()

【讨论】:

  • 或者直接从input 提示符中调用upperinput().upper()
  • @idjaw 也可以,但我想明确一点,我们正在创建一个新字符串。
【解决方案2】:

使用.upper() 时不会修改字符串,因为字符串是不可变的。您需要为 .upper() 返回的内容分配一些内容:

sntc = input("Please enter a sentence.")
sntc = sntc.upper()

或缩写形式:

sntc = input("Please enter a sentence.").upper()

【讨论】:

    猜你喜欢
    • 2012-12-19
    • 2020-10-11
    • 2022-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-11
    • 2014-12-24
    • 1970-01-01
    相关资源
    最近更新 更多