2016-09-24 8 views
0

Я хочу добавить что-то, что будет подсчитывать, сколько раз используется переменная (например, переменная c), и вывод в количестве раз переменной c. Какие функции я могу использовать? Вот код:Подсчитайте, сколько раз переменная называется

#! /usr/bin/python 

question = raw_input 
y = "Blah" 
c = "Blahblahb" 


print "Is bacon awesome" 
if question() = "Yes": 
    print y 
else: 
    print c 

print "Blah" 
if question() = "Yes": 
    print y 
else: 
    print c 
+7

Что вы считаете «с помощью»? Когда он назначен? Читайте? И то и другое? И что еще более важно, почему **? Это звучит как проблема X Y, расскажите нам, чего вы на самом деле пытаетесь достичь, а не то, что, по вашему мнению, является решением. –

+0

Почему бы не использовать геттеры и сеттеры, которые отслеживают? Легче изменить в будущем. – David

ответ

0

Если я понять ваш вопрос правильно, вы можете попробовать это:

question = raw_input 
y = "Blah" 
c = "Blahblahb" 
y_counter = 0 
c_counter = 0 


print "Is bacon awesome" 
if question() = "Yes": 
    print y 
    y_counter = y_counter + 1 
else: 
    print c 
    c_counter = c_counter + 1 

print "Blah" 
if question() = "Yes": 
    print y 
    y_counter = y_counter + 1 
else: 
    print c 
    c_counter = c_counter + 1 

print "y was used " + str(y_counter) + " times!" 
print "c was used " + str(c_counter) + " times!" 
+0

Почему бы вам не использовать '+ ='? – idjaw

0

Вы могли бы иметь переменную счетчика. Давайте назовем его «count». Каждый раз, когда вы печатаете c, вы увеличиваете счет на 1. Я вставил код ниже. Вы можете напечатать переменную count в конце

question = raw_input 
y = "Blah" 
c = "Blahblahb" 

count=0 

print "Is bacon awesome" 
if question() == "Yes": 
    print y 
else: 
    count+=1 
    print c 

print "Blah" 
if question() == "Yes": 
    print y 
else: 
    count+=1 
    print c 

print c 
0

Вы можете сделать это достаточно просто, используя увеличивающуюся переменную.

counter = 0 
# Event you want to track 
counter += 1 

Ваш Python 2.7 код, с помощью счетчика:

question = raw_input 
y = "Blah" 
c = "Blahblahb" 
counter = 0 


print "Is bacon awesome" 
if question() = "Yes": 
    print y 
else: 
    print c 
    counter += 1 

print "Blah" 
if question() = "Yes": 
    print y 
else: 
    print c 
    counter +=1 

print counter 
+0

@ user3543300 Извините? С каких пор + = не работает в Python? –

0

Вам придется увеличивать счетчик и там много способов сделать это. Один из способов заключается в инкапсуляции в class и использовать property, но использует более продвинутые возможности Python:

class A(object): 
    def __init__(self): 
     self.y_count = 0 

    @property 
    def y(self): 
     self.y_count += 1 
     return 'Blah' 

a = A() 
print(a.y) 
# Blah 
print(a.y) 
# Blah 
print(a.y) 
# Blah 
print(a.y_count) 
# 3