我现在遇到了一个相当大的python问题。我试着在数组中计算一些整数。所以它不应该太复杂。我花了两天多的时间在上面,但还是没能让它工作。
def calculate( str ):
global x
if (len(x)==9):
a = []
for i in x_str:
a.append(i)
print(a)
b = 0
for j in range(1,9):
if (type(a[j])==int):
b = b + (a[j] * j)
else:
print('Your x is not a number!')
print(b)
else:
print('Your x is too long or too short.')
isdn = input('Enter your x with 9 numbers')
calculate( x )
# Operation
x = input('How is your x?')
try:
x = str( x )
calculate( x )
except:
print('Not a String!')
我只是想输入一个有9个数字的整数,然后把它变成一个数组。然后用它做一个简单的计算。
我试着在没有那该死的try and except的情况下做它,但那也不起作用。不知何故,当我用input输入x时,Python不会知道它是一个字符串。我该怎么做,才能使这个计算有效呢?它一直告诉我:
SyntaxError: Non-ASCII character 'xe2' in file
我现在真的很绝望,因为我不能让它工作....不知怎的,Python把字符串和整数混在一起了,我不明白为什么。我懂其他语言,但从来没有遇到过这么大的麻烦来进行简单的计算。有人能指出我的错误吗?或者我能做什么?
我改了:
-
a.append(i)
到a.append(int(i))
- 移除
global x
-
for i in x_str:
到for i in x:
- 将
isdn
变量更改为x
def calculate( x ):
if (len(x)==9):
a = []
for i in x:
a.append(int(i))
else:
print('Your x is too long or too short.')
x = input('Enter your x with 9 numbers')
calculate( x )
在x = input
和x = str ( x )
之前还有坏的(不可见的)字符。如果你想复制/粘贴,我在下面的代码中清理了它们。
x = input('How is your x?')
try:
x = str( x )
calculate( x )
except:
print('Not a String!')