【问题标题】:How return x character of a string WITHOUT *如何在没有 * 的情况下返回字符串的 x 字符
【发布时间】:2017-06-04 06:30:13
【问题描述】:

我的问题,定义一个函数 generate_n_chars(),它接受一个整数 n 和一个字符 c 并返回一个字符串,n 个字符长,仅由 c:s 组成。例如, generate_n_chars(5,"x") 应该返回字符串“xxxxx”。 (Python 的不寻常之处在于,您实际上可以编写一个表达式 5 * "x",其计算结果为 "xxxxx"。为了练习,您应该忽略问题可以通过这种方式解决。)。 我的代码:

def generate_n_chars(c, n):
      d = ""
      c = raw_input("Give a character: ")
      n = raw_input("Give a word: ")
      for i in n:
          if i not in c:
             d += i
      return d    

print ("You word have " + str(generate_n_chars('c', 'n') + " character"))

所以,当我写 halo a 时,只来一个 x ,我会五个,因为 halo 有五个字。我会来 xxxxx 但没有 '5 * x' 。非常感谢你的帮助!

【问题讨论】:

  • 您的n 不是整数。
  • 非常感谢您的回答,请问怎么办?
  • 你运行generate_n_chars('c', 'n'),所以你发送字符串"c"和字符串"n",但是你应该使用变量cn-generate_n_chars(c, n)。并在generate_n_chars之外使用raw_input()
  • 使用range(n)迭代n次并将字符串连接到新的(最初为空的)字符串
  • @Moinuddin Quadri,怎么办?

标签: python string return character


【解决方案1】:

您可以循环一个 while 循环来计数直到 n 并在达到该数字后中断。

   def generate_n_chars(n , c):
        for i in range(len(c)):
            while i <= n:
                print(c[i])
                i+=1
            break

    def main():
        generate_n_chars(5,"this is")
    main()

【讨论】:

    【解决方案2】:

    问题是要求您创建一个名为generate_n_chars() 的函数(def),它接受一个整数(int) 值、n 和字符(char) 值、c 作为参数。这里,c 是用户输入的任何字符,假设用户输入 xn 是应该打印字符(c)的次数,所以假设用户希望它打印 5 次,因此输入5。那么结果将是xxxxx。 5 个。

    def generate_n_chars(n, c):
            result = ""
            for i in range(n):
                result += c
            return result
    
        inputChar = input("Enter the character:")
        inputNum = int(input("Enter the number of times " + str(inputChar) + " to be printed:"))
        print("Result: " + str(generate_n_chars(inputNum, inputChar)))
    

    输出:

    Enter the character:x
    Enter the number of times x to be printed:5
    Result: xxxxx
    

    【讨论】:

    • 谢谢,还有两次谢谢,因为你对我的错误直言不讳地回答我……我的英语知识有点差,我必须明白我应该写一个词…… . 那是我的错误....
    • 没问题,我知道你的理解也有问题,因为英语不是你的母语。支持我的回答而不是感谢我! :D
    【解决方案3】:

    你可以简单地使用函数 rjust....

    "".rjust(10,"5")
    

    在你的例子中:

    print ("You word have " + "".rjust(5, 'x') + " character")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-07
      • 1970-01-01
      • 1970-01-01
      • 2021-11-29
      • 1970-01-01
      • 2020-09-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多