def up_low(s):
upper = int #If I change this to 0 it works fine
lower = int #If I change this to 0 it works fine
for i, l in enumerate(s):
if l.isupper():
upper += 1
elif l.islower():
lower += 1
print(f"No. of Upper case characters : {upper}")
print(f"No. of Lower case Characters : {lower}")
s = 'Hello Mr. Rogers, how are you this fine Tuesday?'
up_low(s)
有人可以解释为什么我不能使用int占位符吗?
答案 0 :(得分:2)
该消息很清楚,int
是一种对象,而不是数字。
尽管您可以使用int()
,它会创建一个值为0的整数-但是,仅使用0
会更清楚,更简单。
答案 1 :(得分:1)
在Python中,您不要将类型分配给变量。您的台词
upper = int
lower = int
不做您认为他们正在做的事情。他们被分配了 type int
而不是int。如果您将其设置为0
,则可以在问题中正确指出。那是因为它被分配了一个整数,其值为0
,并且可以递增。
答案 2 :(得分:0)
您可以改用int()
。 int
本身是类型而不是实例。
>>> int()
0
>>> type(int()) # int() returns an integer (with value 0) usable in calculations
int
>>> type(int) # int returns a type, not usable in calculations
type
答案 3 :(得分:0)
我刚刚更改了拖曳线-> upper = int(),-> lower = int()
def up_low(s):
upper = int() #If I change this to 0 it works fine
lower = int() #If I change this to 0 it works fine
for i, l in enumerate(s):
if l.isupper():
upper += 1
elif l.islower():
lower += 1
print(f"No. of Upper case characters : {upper}")
print(f"No. of Lower case Characters : {lower}")
s = 'Hello Mr. Rogers, how are you this fine Tuesday?'
up_low(s)
不。大写字符数:4小写字符数:33