2016-06-26 15 views
-4

Ich versuche, diesen Code zu berechnen 5 und Drucken von Zahlen von 5 mit einer while-Anweisung von 7, so dass ich durchschleifen möchte, eine andere Zahl 7 generieren mal; aber wenn es um eine Zahl über 10 bekommt, will ich es wieder über bei 0 beginnen und ignorieren den 10.was ist falsch mit dieser Aussage (Anzahl von 0-9)

Dies ist mein Code:

while z < 7: 
firstpickplusfive = int(firstpickplusfive) + 1 
counts = counts + 1 
if counts == 1: 
if firstpickplusfive > 9: 
firstpickplusfive = 0 
if counts == 5: 
print firstpickplusfive 
z = int(z) + 1 

Der Code druckt die erste Zahl, aber gefriert beim Drucken anderer. Warum funktioniert das nicht?

+0

Sie sollten Ihre Codes Einrückung korrigieren – Sayse

+0

Bitte korrigieren Sie Ihre Einrückung. In einer Sprache, in der die Einrückung von entscheidender Bedeutung ist, ist es auch wichtig, dass Sie uns dieselbe Einrückung geben, mit der Sie testen. – zondo

+1

Bitte Code genau wie Sie es im Quellcode einrücken ... Python ist empfindlich und wenn ich einen Rückschluss auf Ihren Beitrag dann den Code ist noch nicht einmal kompiliert hier ... –

Antwort

1

Ihr Code ist nicht in der Schleife. Python-Code-Blöcke werden mit Einzügen erstellt:

while z < 7: 
    firstpickplusfive = int(firstpickplusfive) + 1 
    counts = counts + 1 
    if counts == 1: 
     if firstpickplusfive > 9: 
      firstpickplusfive = 0 
    if counts == 5: 
     print firstpickplusfive 
    z = int(z) + 1 
+3

Das ist wahrscheinlich nur ein Copy-Paste-Fehler. Er hat nichts eingerückt. Ihre "Lösung" enthält weiterhin Einrückungsfehler. – zondo

0

Ist dies das Ergebnis, das Sie versuchen, zu erreichen:

import random 

x = random.randint(1,9) 
for i in range(1,8): 
    print x 
    x += 5 
    if x >= 10: 
     x -= 9 

Dies erzeugt eine Zufallszahl, und fügt 5 bis 10 geht, subtrahiert dann 9, und es macht das sieben mal. Wenn ich Ihre Frage richtig verstehe, haben Sie versucht, dies zu tun. Bitte korrigieren Sie mich, wenn ich falsch liege.

0

nein, das ist nicht das, was ich hier zu tun versuchte, was ich versuche zu tun.

counts = 0 
r = 0 
firstpickplusfive = 7 
p = firstpickplusfive + 5 
while r < 3: 
    firstpickplusfive = p + counts 
    if firstpickplusfive > 6: 
     firstpickplusfive = firstpickplusfive + counts - 10 
    if p > 9: 
     p = firstpickplusfive + counts 

    print firstpickplusfive 
    counts = counts + 1 

    r = int(r) + 1 

es funktioniert allein, aber wenn ich es mit dem Skript hinzufügen Ich versuche, es nicht zu schreiben ... funktioniert, wenn es ein einfacherer Weg, es zu tun ist, würde ich weiß es zu schätzen wissen.

dh. number = Zahl + 5 + 0 dann number = Zahl + 5 + 1 ..... ect die

Beispiel 7 + 5 + 0 = 12, 7 + 5 + 1 = 13 .... .....

wenn die Zahl gleich 10 dann will ich ihm den Zehn Platz fallen zu lassen und den Platz der 1 halten

Beispiel 7 + 5 + 0 = 2, 7 + 5 + 1 = 3

0

Hier ist eine einfachere Methode:

for i in range(1,4): 
    num = 7 
    num += 5 
    num +=(i-1) 
    if num >=10: 
     num -= 10 

    print num 
    i+=1 

Versuchen Sie das in Ihrem Skript, funktioniert es?

+0

nein funktioniert nicht bringt zurück traceback ..... denke ich habe herausgefunden, oder zumindest was ich habe ist praktikabel ... danke an alle für die hilfe –

+0

Was ist die traceback? –

+0

Ich kann mich nicht erinnern, die Spur zurück, aber ich weiß, es hat nicht funktioniert Ich werde den ganzen Code einfügen und Sie können es sehen und Änderungen vornehmen, wenn Sie wollen, gerade jetzt habe ich Probleme mit dem Einfügen von Sachen in meinem dbase vielleicht Sie Das kann man auch sehen. http://pastebin.com/EzUBLyLS –