2017-02-24 2 views
-1

Ich mache ein Programm, das ein Telefon Trouble-Shooter ist, die Schlüsselwörter identifiziert und dann liest und druckt ein Dokument, das Lösungen auf sie abhängig von besagtem Schlüsselwort hat. Jetzt frage ich mit meinem Code, was das Problem ist und wenn ich flüssig sage, möchte ich, dass das flüssige Dokument gedruckt wird und eine Reihe von Fragen zu Flüssigkeitsproblemen präsentiert wird. Jetzt, wenn ich das tue, fragt es immer wieder nach den ersten Fragen, nämlich nach der Macht. Kann mir jemand helfen, damit es zur richtigen Frage kommt?Code, um eine andere Reihe von Fragen unter einer Variablen zu stellen

#Task 2 Trouble-Shooter 1.0 
#Zacharriah River Howells 
import time 
print('Hello and welcome to the mobile phone Trouble-Shooter!') 
time.sleep(2) 
problem = input('Please input what is wrong with your phone') 
if "power" in problem: 
    f = open('Power.txt', 'r') 
    solution1 = f.readlines() 
    print(solution1[0]) 
    f.close() 
if "battery" in problem: 
    f = open('Power.txt', 'r') 
    solution1 = f.readlines() 
    print(solution1[0]) 
    f.close() 
time.sleep(2) 

print('Have you charged your phone overnight? if not do so') 
time.sleep(1) 
powerans = input('Does your phone turn on now?') 
if powerans == 'yes': 
    f = open('Power.txt', 'r') 
    solution1 = f.readlines() 
    print(solution1[1]) 
    f.close() 
    exit() 

elif powerans == 'no': 
    f = open('Power.txt', 'r') 
    solution2 = f.readlines() 
    print(solution2[2]) 
    f.close() 
    exit() 

if "liquid" in problem: 
    f = open('Liquid.txt', 'r') 
    solution1 = f.readlines() 
    print(solution1[0]) 
    f.close() 
if "water" in problem: 
    f = open('Liquid.txt', 'r') 
    solution1 = f.readlines() 
    print(solution1[0]) 
    f.close() 
time.sleep(2) 

print('Have you let your phone dry in a container filled with rice?') 
time.sleep(1) 
liquidans = input('Does your phone turn on now?') 
if liquidans == 'yes': 
    f = open('Liquid.txt', 'r') 
    solution1 = f.readlines() 
    print(solution3[1]) 
    f.close() 
    exit() 

elif liquidans == 'no': 
    f = open('Liquid.txt', 'r') 
    solution2 = f.readlines() 
    print(solution4[2]) 
    f.close() 
    exit() 

if "software" in problem: 
    f = open('Software.txt', 'r') 
    solution1 = f.readlines() 
    print(solution1[0]) 
    f.close() 
if "apps" in problem: 
    f = open('Software.txt', 'r') 
    solution1 = f.readlines() 
    print(solution1[0]) 
    f.close() 
time.sleep(2) 

print('Have you tried reinstalling the app?') 
time.sleep(1) 
softeareans = input('Does your phone turn on now?') 
if softwareans == 'yes': 
    f = open('Software.txt', 'r') 
    solution1 = f.readlines() 
    print(solution5[1]) 
    f.close() 
    exit() 

elif softwareans == 'no': 
    f = open('Software.txt', 'r') 
    solution2 = f.readlines() 
    print(solution6[2]) 
    f.close() 
    exit() 

if "hardware" in problem: 
    f = open('Hardware.txt', 'r') 
    solution1 = f.readlines() 
    print(solution1[0]) 
    f.close() 
if "display" in problem: 
    f = open('Hardware.txt', 'r') 
    solution1 = f.readlines() 
    print(solution1[0]) 
    f.close() 
time.sleep(2) 

print('Have you tried installing the newest system update?') 
time.sleep(1) 
hardwareans = input('Does your phone turn on now?') 
if hardewareans == 'yes': 
    f = open('Hardware.txt', 'r') 
    solution1 = f.readlines() 
    print(solution7[1]) 
    f.close() 
    exit() 

elif hardwareans == 'no': 
    f = open('Hardware.txt', 'r') 
    solution2 = f.readlines() 
    print(solution8[2]) 
    f.close() 
    exit() 

if "unable" in problem: 
    f = open('Unidentifiable.txt', 'r') 
    solution1 = f.readlines() 
    print(solution1[0]) 
    f.close() 
if "dunno" in problem: 
    f = open('Unidentifiable.txt', 'r') 
    solution1 = f.readlines() 
    print(solution1[0]) 
    f.close() 
time.sleep(2) 
print('We cannot identify uour problem you can either') 
time.sleep(1) 
print('Visit our store') 
time.sleep(1) 
print('Visit our website') 

loop = input('Would you like to return to the start of the trouble-shooter?') 
if loop == 'yes': 
    problem() 
else: 
    exit() 
+0

Sagen Sie uns, was _not_ funktioniert. – DyZ

+0

Willkommen bei StackOverflow. Bitte lesen und befolgen Sie die Buchungsrichtlinien in der Hilfe. [Minimales, vollständiges, überprüfbares Beispiel] (http://stackoverflow.com/help/mcve) gilt hier. Wir können Ihnen nicht effektiv helfen, bis Sie Ihren MCVE-Code veröffentlicht und das Problem genau beschrieben haben. – Prune

Antwort

0

Ihre Fragen sind alle auf der ersten Ebene Einzug, so dass sie alle gefragt werden, egal was der Benutzer beantwortet. Wenn, wie Ihre Frage besagt, bestimmte Fragen nur dann gestellt werden sollten, wenn der Benutzer mit "liquid" antwortet, sollten diese Fragen innerhalb der [if] Aussage zu "liquid" stehen. Beispiel:

if "power" in problem: 
    f = open('Power.txt', 'r') 
    solution1 = f.readlines() 
    print(solution1[0]) 
    f.close() 
    print('Have you charged your phone overnight? if not do so') 
    time.sleep(1) 
    powerans = input('Does your phone turn on now?') 

Oder noch besser, haben Sie Fragen in definierten Funktionen, und rufen Sie diese Funktionen, wenn sie gelten.

Bearbeiten: bitte beachten Sie, wenn Fragen Abhängigkeiten zwischen ihnen haben, könnten Sie besser eine Baum-ähnliche Datenstruktur mit den verschiedenen Antwortoptionen und Verknüpfung mit den Dateien und Antworten, die für beide Antwort gelten.

Verwandte Themen