gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 20:27:40 25 4
gpt4 key购买 nike

这是家庭作业,但我不是要找讲义。错误消息还没有得到真正的解释,所以我不知道如何解决这个问题或者为什么会这样。我知道当我尝试将 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com