2017-02-21 2 views
0

Unten ist der Code. Wenn ich es in PyCharm (Mein Editor) starte, funktioniert alles gut, aber wenn ich das Python-Skript in meinem Terminal ausführe und dann die Nummer eintippe, passiert nichts außer "Fertig !!" Drucke. Ja, ich führe das Skript mit sudo.os.system() funktioniert nicht [Ubuntu 16.04], [Python 3.5.2]

# -*- coding: utf-8 -*- 
#!usr/bin/python 
import os 
import time 


print('==========================') 
print('==========================') 
print('1. Update System') 
print('2. Check IP-Address') 
print('3. Train') 
print('==========================') 
print('==========================') 

Nummer = input('What do you want to do?: ') 


def nummer1(): 
    if Nummer == '1': 
     print('System-Update is starting...') 
     time.sleep(2) 
     os.system("gnome-terminal -e 'sudo apt-get update'") 
nummer1() 

def nummer2(): 
    if Nummer == '2': 
     print('Checking IP-Address...') 
     time.sleep(2) 
     os.system("gnome-terminal -e 'sudo ifconfig'") 
nummer2() 

def nummer3(): 
    if Nummer == '3': 
     os.system("gnome-terminal -e 'sudo apt-get install sl && sl'") 
     time.sleep(1) 
     print('Get ready...') 
     time.sleep(2) 
nummer3() 
print('Finished!!') 
+2

Meine Vermutung, Sie laufen mit Python 2 vom Terminal und 'input()' wird zu einer Ganzzahl ausgewertet, so dass Ihre 'if' Anweisungen fehlschlagen –

+0

Wo kann ich das sehen und wie kann ich das ändern? – kolololol

+0

Konvertieren Sie die Eingabe explizit in "str" ​​oder "int" und vergleichen Sie sie entsprechend. –

Antwort

0

Mit Python 2 Sie Eingabe als integer nehmen so ihre scheitern.

Ihre Eingabezeile ändern:

Nummer = str(input('What do you want to do?: ')) 

ODER

Nummer = raw_input('What do you want to do?: ') 

Aber wenn Sie führen Sie Ihre Code wie dieser

python3 fileName.py

I Das wird funktionieren.