들여 쓰기가 약간 벗어났습니다.
a = input('Enter a number: ')
b = input('Enter a digit between 0 and 9: ')
p = int(0)
t = int(0)
while p < len(a):
if a[p] == b:
t += 1
p += 1
else:
p +=1
print ('The number', b, 'appears', t, 'times')
을하고 원하는 동작을 수행 : 나는 while
루프 내부에 들여 쓰기를 수정하고 <
(길이 n
배열 0
에서 n - 1
로 이동)에 <=
를 변경하는 경우, 프로그램이된다.
코드에 대한주의 사항 : 어셈블리가 아니라 파이썬을 작성하고 있습니다. 당신은 훨씬 더 간결 문자열의 발생을 계산하는 for
루프를 사용할 수 있습니다 무슨 일이 일어나고 있는지 풀기
a = input('Enter a number: ')
b = input('Enter a digit between 0 and 9: ')
count = sum([digit == b for digit in a])
print('The number', b, 'appears', count, 'times')
:
a = input('Enter a number: ')
b = input('Enter a digit between 0 and 9: ')
t = 0
for d in a:
if d == b:
t += 1
print ('The number', b, 'appears', t, 'times')
그래서이 경우 : 그 자리
b
에서 제공하는 자리가 일치하는 경우는True
및False
요소를 포함하는 목록을 반환합니다 확실히 : 나는 이것이 클래스 할당이라고 가정하고 있으므로,'count' 메소드를 사용하는 것은 제한이 없다? 그렇지 않기 때문에't = a.count (b)'가 전체를 해결할 것이다. – ShadowRanger