2011-01-12 18 views
7

mogę osadzić zmiennych za pomocą instrukcji print w Pythonie w ten sposóbWstaw zmienną używając sys.stdout.write w Pythonie

i=10 
print "Value is %s" % (i) 

Wyjście

Value is 10 

ale robi to

i=10 
sys.stdout.write ("Value is %s") % (i) 

daje mi następującą Błąd ng

TypeError: unsupported operand type(s) for %: 'NoneType' and 'int' 

mogę osadzić zmiennych używając sys.stdout.write zamiast druku?

+2

Nic dziwnego, że pojawia się błąd, ponieważ składnia jest tak błędna. –

+0

@ S.Lott Pytanie jest teraz prawie bezużyteczne. Nie mogę go usunąć, ponieważ ma odpowiedzi. – abel

+2

Niezupełnie bezużyteczny - istnieje możliwość, że inne osoby mogą mieć to samo pytanie składniowe. –

Odpowiedz

15

Nieprawidłowe nawiasy. Powinny być

i=10 
sys.stdout.write("Value is %s" % i) 

Operator % pobiera ciąg i krotki (lub pojedynczego obiektu) jako argumenty. Podjęto próbę zastosowania operatora do wartości zwracanej sys.stdout.write(), która jest Brak. Musisz zastosować go do ciągu, zanim zostanie przekazany do sys.stdout.write().

Powiązane problemy