python - 值错误 : invalid literal for int() with base 10: 'Blusson Hall'

标签 python spaces

这是家庭作业,但我不是要找讲义。错误消息还没有得到真正的解释,所以我不知道如何解决这个问题或者为什么会这样。我知道当我尝试将 s 变成整数时会发生这种情况,但如果我不这样做,我会得到一个不同的错误,所以我有点迷路了...... 我也尝试查看其他一些有类似问题的帖子,但我对 Python 很陌生,无法理解这些解释。

我认为这是一个非常简单的函数。 我试过将它转换为整数,以便我可以对其执行范围函数,但这似乎不起作用。该程序应该首先在“Blusson Hall”中的字母之间放置一个空格,如果那里已经有一个空格,则添加一个额外的空格,最后在最终产品周围打印该设计。感谢您的帮助。

def spaced(s):
   n = int (s)
   for [i] in range (n):
      if [i] != " ":
         n == n+ [i] + " "
      if [i] == " ":
         n == n+ [i] + " "
    print "-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-"
    print ".                             ."
    print "-  "   +  str (n)+ " -"
    print ".                             ."
    print "-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-"



      #- you write (5 marks) -#
      ###################
      #- Tester's code -#
      ###################

      spaced("Blusson Hall")

最佳答案

您的问题是您使用非数字字符串调用 spaced 然后尝试将其转换为整数:

>>> int("Blusson Hall")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'Blusson Hall'

如果你想要一个基于字符串长度的范围,你可以使用类似的东西:

for i in range(len(s)):

如:

>>> s = "Busson Hall"
>>> for i in range(len(s)):
...     print i
...
0
1
2
3
4
5
6
7
8
9
10

并且,作为一些额外的帮助,您可以使用 s[i] 来获取 i 的第一个(当然,零是第一个)字符 s。此外,您可能希望从一个空字符串开始,然后向其附加单个字符(从原始字符串和您要添加的任何空格)以在返回之前逐渐构建它。

例如,这个片段复制了每个字符,它们之间有一个冒号:

>>> s = "paxdiablo"
>>> s2 = ""
>>> for i in range(len(s)):
...     s2 = "%s%s:%s:" % (s2, s[i], s[i])
...
>>> print s2
p:p:a:a:x:x:d:d:i:i:a:a:b:b:l:l:o:o:

除了为您编写代码(明智地,您决定不要求),这可能是我能提供的所有帮助(尽管您可以随意提出任何问题,我会提供进一步的建议)。

关于python - 值错误 : invalid literal for int() with base 10: 'Blusson Hall' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7975441/

相关文章:

python - PyErr_SetString 不会立即引发异常(Swig)?

python - Selenium Webdriver Firefox 52 Python 每次运行时选择随机代理

python - 调用 xmlrpclib.ServerProxy 等类上的任意方法

bash - ffmpeg bash脚本文件名变量中的空格

Python optparse 回调为函数提供参数

python - 如何使用 python 识别元素并通过 selenium 调用 send_keys

html - 为什么 emspace 或 enspace 会破坏 HTML 中的 CSS 字体行高?

运算符中的 c++ 空格,规则是什么

java - 不使用 NextLine 读取字符串中的空格作为输入