Найти - Пользователи
Полная версия: Что не так из щасливыми билетами??
Начало » Центр помощи » Что не так из щасливыми билетами??
1
Xryst
Задача заключается в следующим:
Предусматривается поиск “счастливых” билетов. “Счастливым” называется такой троллейбусный билет, в котором сумма первых трех цифр равняется сумме последних трех. Например 030111 (0+3+0 = 1+1+1), 902326 (9+0+2 = 3+2+6), 001100 (0+0+1 = 1+0+0).
Входные данные: два целых неотрицательные числа (0<=a1<=a2<=999999) - аргументы командной строки.
Результат работы: количество “счастливых билетов”, чьи номера, лежат на промежутке от a1 к a2 включительно. Если число на промежутке имеет менее 6 разрядов, считать, что в его начале дописываются нули в необходимом количестве, как это и происходят при нумерации билетов.
Например.
Входные данные: 0 1000 Результат: 1 Объяснение: номер 000000 Входные данные: 1001 1122 Результат: 3 Объяснения: номера 001001, 001010, 001100 Входные данные: 222222 222333 Результат: 7 Объяснение: номера 222222, 222231, 222240, 222303, 222312, 222321, 222330
Вот, что мне пришло в голову:
import sys
a1=int(sys.argv[1]) 
a2=int(sys.argv[2])
number = 0
for i in range(a1,a2+1): 
  a11 = str(i) 
  a_1 = a11 [:]
while len(a_1)<=5:
 b = 6 - len(a_1)
for a in range(b):
 a_1 = "0" + a_1
sum_1=int(a_1[0])+int(a_1[1])+int(a_1[2])
sum_2=int(a_1[3])+int(a_1[4])+int(a_1[5])
if sum_1 == sum_2:
 number += 1
print number
Ну он не работает(

Подкажите, как лутше сделать?
Alex_HH
Вы же не передали аргументы.
Надо в консоле писать
python c:\Users\Oleg\Desktop\bilites.py 0 1000
Xryst
Alex_HH
python c:\Users\Oleg\Desktop\bilites.py 0 1000
Вот что выдает консоль:

Хоча другая программа запускается:



terabayt
python c:\Users\Oleg\Desktop\biletes.py 0 1000
Xryst
terabayt
Все сделал, как вы сказали…ну программа не чего не вывела, не пойму почему.

Вот еще раз код:
mport sys
a1=int(sys.argv[1]) 
a2=int(sys.argv[2])
number = 0
for i in range(a1,a2+1): 
  a11 = str(i) 
  a_1 = a11 [:]
while len(a_1)<=5:
 b = 6 - len(a_1)
for a in range(b):
 a_1 = "0" + a_1
sum_1=int(a_1[0])+int(a_1[1])+int(a_1[2])
sum_2=int(a_1[3])+int(a_1[4])+int(a_1[5])
if sum_1 == sum_2:
 number += 1
print number
terabayt
Xryst
ну программа не чего не вывела, не пойму почему.
она не завершилась)) ушла в бесконечный цикл
while len(a_1)<=5:
 b = 6 - len(a_1)
поищите на форуме, такая задачка уже была
Xryst
terabayt
Извини, искал…не чего не нашел, если не трудно дай ссылку, спасибо.
terabayt
хмм
ну тогда
for i in range(a1, a2 + 1): 
    a_1 = str(i) 
    b = 6 - len(a_1)
    for a in range(b):
        a_1 = "0" + a_1
    sum_1 = int(a_1[0]) + int(a_1[1]) + int(a_1[2])
    sum_2 = int(a_1[3]) + int(a_1[4]) + int(a_1[5])
    if sum_1 == sum_2:
        number += 1
print number
Xryst
terabayt
хммну тогда
от теперь думаю зачем…я добавил этот цыкл
while len(a_1)<=5:
 b = 6 - len(a_1)
спасибо все заработало
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB