День 6 моего путешествия по изучению Python

  • Сегодня я решил 8 задач codeforces:
  1. Задача-791А: Медведь и Большой Брат: Это простая математическая задача. Я использовал цикл while, чтобы продолжать умножать оба, пока а не станет больше, чем b.
c=0
while True:
  c+=1
  a=a*3
  b=b*2
  if a>b:
    print(c)
    break

2. Задача-546А: Солдат и бананы: Сначала я думал, что солдат всегда будет занимать деньги. Поэтому я продолжал вычитать цену из баланса. В конце концов, я умножил это на -1. Но это не тот случай. Возможно, ему и не нужно занимать деньги. Я даю обе свои попытки решить эту проблему.

  • Неверно:
for i in range(1,w+1):
  cb=k*i
  n-=cb
print(n*(-1))
  • Верно:
for i in range(1,w+1):
  cb=k*i
  n-=cb
if n>0:
  print(0)
else:
  print(n*(-1))

3. Задача-617А: Слон: я проверил, если x≥5 равен 1. Например, если x ≥ 5, я подсчитал, сколько раз я могу разделить x на 5, и прибавил к счету шагов. Затем я обновил значение x.

while a!=0:
  if a>=5:
    h=a//5
    a=a-(5*h)
    c+=h
  elif a>=4:
    h=a//4
    a=a-(4*h)
    c+=h

4. Задача-69А: Юный физик: Я взял 3 переменные (x,y,z) для хранения суммы каждой координаты. Наконец, я проверил, равны ли x, y и z нулю или нет.

a=int(input())
x=0
y=0
z=0
for i in range(a):
  arr=input().split()
  x+=int(arr[0])
  y+=int(arr[1])
  z+=int(arr[2])
if x==0 and y==0 and z==0:
  print("YES")
else:
  print("NO")

5. Задача- 59A: Word: В этой задаче я использовал функции ord(), upper() и lower(). Функция ord() даст нам ASCII-код заданного символа. Я прошел через строку и проверил каждый элемент, является ли он строчной или прописной буквой, используя функцию ord(). Затем, если это строчная буква, я добавил ее в новую строку. Я следовал тому же для заглавных букв. В конце концов я проверил длину обеих новых строк и изменил буквы.

a=input()
uc=""
lc=""
for i in a:
  if ord(i)>=97 and ord(i)<=122: 
    lc+=i
  if ord(i)>=65 and ord(i)<=90:
    uc+=i
if len(uc)>len(lc):
  a=a.upper()
  print(a)
else:
  a=a.lower()
  print(a)

6. Задача- 96А: Футбол: Здесь я реализовал нарезку строк.

def task(a):
  i=0
  c=1
  while a!='' and i+1<len(a):
    if a[i]==a[i+1]:
      c+=1
      i+=1
      if c==7:
        print("YES")
        return 
    else:
      if i>=len(a):
          break
      a=a[i+1:]
      c=1
      i=0
  print("NO")
a=input()
task(a)

7. Задача-977A: Неправильное вычитание: я преобразовал 'n' в строку и использовал отрицательную индексацию для проверки последней цифры.

for i in range(k):
  m=str(n)
  if m[-1]=="0":
    n//=10
  else:
    n-=1
print(n)

8. Задача-110A: Почти счастливое число: я использовал функцию count() для подсчета вхождений 7 и 4. После добавления общего количества, если оно равно 4 или 7, я напечатал ДА или НЕТ .