为什么这段代码不会输出
本帖最后由 sfqxx 于 2023-2-28 20:55 编辑就是这段代码,想要输出一个字符串中哪个是大写,可为什么没有输出?S = input()
b = len(S)
c = 0
d = 1
while b == c:
if S.istitle():
print(d)
else:
c+=1
d+=1 因为压根就不会进入循环,b 不等于 c,直接用 for 循环不好吗?
S = input()
for i in S:
if i.isupper():
print(i)
isdkz 发表于 2023-2-26 20:26
因为压根就不会进入循环,b 不等于 c,直接用 for 循环不好吗?
好像还是不行 sfqxx 发表于 2023-2-26 20:38
好像还是不行
我运行没有问题呀,
输入:
ABCDefg
输出:
A
B
C
D isdkz 发表于 2023-2-26 20:40
我运行没有问题呀,
输入:
要求输出第几个字符是大写,也就是数字 不符合循环条件,当然不会进入循环啊。即便进入循环也会陷入死循环,因为无论是否大写字母,c,d都应该加1.建议用遍历语句for。
S = input()
b = len(S)
for c in range(b):
if S.istitle():
print(c+1)
如果实在想用while循环的话:
S = input()
b = len(S)
c = 0
d = 1
while b != c:
if S.istitle():
print(d)
c+=1
d+=1
else:
c+=1
d+=1 本帖最后由 chinajz 于 2023-2-26 21:23 编辑
#coding:gbk
S = "aDciEhU"
#S=input()
for c in range(len(S)):
if S.istitle():
print(c+1,S) sfqxx 发表于 2023-2-26 20:46
要求输出第几个字符是大写,也就是数字
S = input()
for i, c in enumerate(S, 1):
if c.isupper():
print(i)
页:
[1]