2016-11-17 4 views
1

Ich spielte nur mit Funktionen, um mein Verständnis von ihnen zu fördern, und ich war neugierig, ist es überhaupt möglich, den Benutzer Vorname und zuletzt mit der folgenden Funktion ohne zusätzliche Funktionen zurückzukehren ?Aufbauend auf existierende Funktion

name = raw_input("Please enter your full name: ") 

def username(a): 
    print(a[0:6]+a[-1]) 
username(name) 
+0

ja, es ist möglich, werden Sie wahrscheinlich Ihre Spleißstellen obwohl – depperm

+0

Nach letzter anfänglichen ändern müssen, meinen Sie den ersten Buchstaben ihrer Nachnamen? 'a [-1]' erhält den letzten Buchstaben der Zeichenfolge, der der letzte Buchstabe des Nachnamens ist –

+0

Zählen Sie Dinge wie 'Split' als Funktion? – doctorlove

Antwort

0

Wenn die Länge der eingegebenen Namen variieren kann und die Anzahl der Namen, müssen Sie eine andere Funktion split und index verwenden. Wenn der Benutzer nur einen einzelnen Namen eingeben kann, müssen Sie eine if oder try...except hinzufügen.

a[:a.index(' ')]) die Vornamen, von Anfang an der Eingabe in dem ersten Raum

index Renditen Valueerror wenn der Charakter nicht so gefunden, wenn sie könnten nur Vornamens Surround mit try eingeben .. .except

a.split()[-1][0] wird den ersten Buchstaben des Nachnamens bekommen, auch wenn sie mehr als zwei Namen (Billy Bob Joe -> Billy J) eingeben

name = raw_input("Please enter your full name: ") 

def username(a): 
    print(a[:a.index(' ')]+' '+a.split()[-1][0]) 
username(name) 
+0

Dank @depperm, Ihre Antwort hat tatsächlich dazu beigetragen, mein Verständnis zu erweitern, wie Sie diese Funktionen auf meine Studien anwenden können. –

0

Ihre aktuelle Funktion setzt eine Länge des Vor- und Nachnamens voraus. Sie könnten versuchen, print (a.split() [0] + '' + a.split() [1] [0]). Der split() wird die Zeichenfolge in eine Liste von zwei Elementen ändern, Element 0 ist der erste Name und Element 1 ist der Nachname.

a [-1] gibt Ihnen den letzten Buchstaben Ihrer Zeichenkette, der so klingt, als wollten Sie dies nicht für Ihren Zweck.

0
name = raw_input("Please enter your full name: ")                                 

def username(a):                                         
    fullname = a.strip().split(' ')                                     

    if len(fullname) < 2:                                       
     print('Error: last name required')                                   
     print('Type: firstname <middle name> last name')                               
     exit(1)                                          

    try:                                           
     print('%s %s' % (fullname[0], fullname[-1][0]))                                

    except IndexError:                                        
     exit(1)                                          

username(name) 
0

So habe ich es geschafft, die Informationen, die Sie mir zur Verfügung gestellt haben, zu implementieren.

''' 
code to input full name and convert into username consisting of first + first 
initial of last name or first and first initial of first name if input is one name. 
''' 
def fullname(): 
    name = raw_input("Please enter your full name: ").lower() 
    try: 
     name = (name[:name.index(' ')]+''+name.split()[len(name.split())-1][0]) 
    except: 
     name = name[0:]+name[0] 
    return name 

# code to generate exponential numbers 
def print_exponential(): 
    base = int(raw_input("Please select a base number: \n")) 
    power = int(raw_input("Please select a power number: \n")) 
    exponential = 1 
    while power>0: 
     exponential = exponential * base 
     print base 
     if power >1: 
      print "*" 
     power = power -1 
    print "=%d" % exponential 



''' 
code to generate interactive menu with an error return for incorrect selection and exit clause. 
''' 
ans=True 
while ans: 
    print (""" 
    U.Create a Username 
    E.Run Exponential Calculator 
    Q.Exit/Quit 
    """) 
    ans=raw_input("What would you like to do? ").upper() 
    if ans=="U": 
     print fullname() 
    elif ans=="E": 
     print print_exponential() 
    elif ans=="Q": 
     print("\n Goodbye") 
     break 
    elif ans !="": 
     print("\n Error: Choice must be U, E or Q") 
Verwandte Themen