Wie kann ich eine Zeichenfolge als Endsymbol verwenden, während ich den Benutzer aufforderte, eine bestimmte Ganzzahl '1' oder eine bestimmte Zeichenfolge 'Ende' als Endsymbol einzugeben, genau wie in den folgenden Beispielen? Ich kann jetzt nur '1' als Endsymbol verwenden. Ich bin ein Anfänger, bitte erklären Sie so einfach wie möglich. Danke vielmals!

list = []
num = 0
stop = False

num = int(input('Enter a negative integer (1 or ‘end’ to end):'))
if num == 1:
    print('No input!')
else:
    list.append(num)
    print(list)
    while stop == False:
        num = int(input('Enter a negative integer (1 or ‘end’ to end):'))
        list.append(num)
        print(list)
        if num == 1:
            stop = True
            print('The smallest integer is', min(list))

Sample1 Ausgabe:

Geben Sie eine negative Ganzzahl ein (1 oder "Ende" bis Ende): -56

Geben Sie eine negative Ganzzahl ein (1 oder "Ende" bis Ende): -42

Geben Sie eine negative Ganzzahl ein (1 oder "Ende" bis Ende): -112

Geben Sie eine negative Ganzzahl ein (1 oder "Ende" bis Ende): -1

Geben Sie eine negative Ganzzahl ein (1 oder "Ende" bis Ende): -89

Geben Sie eine negative Ganzzahl ein (1 oder "Ende" bis Ende): -676

Geben Sie eine negative Ganzzahl ein (1 oder "Ende" bis Ende): -312

Geben Sie eine negative Ganzzahl ein (1 oder "Ende" bis Ende): 1

Die kleinste Ganzzahl ist -676

Beispiel2 Ausgabe:

Geben Sie eine negative Ganzzahl ein (1 oder 'Ende' bis Ende): -123

Geben Sie eine negative Ganzzahl ein (1 oder 'Ende' bis Ende): -1

Geben Sie eine negative Ganzzahl ein (1 oder 'Ende' bis Ende): -23

Geben Sie eine negative Ganzzahl ein (1 oder 'Ende' bis Ende): -1144

Geben Sie eine negative Ganzzahl ein (1 oder 'Ende' bis Ende): -222

Geben Sie eine negative Ganzzahl ein (1 oder 'Ende' bis Ende): -23

Geben Sie eine negative Ganzzahl ein (1 oder 'Ende' bis Ende): -33

Geben Sie eine negative Ganzzahl ein (1 oder 'Ende' bis Ende): -33

Geben Sie eine negative Ganzzahl ein (1 oder 'Ende' bis Ende): Ende

Die kleinste Ganzzahl ist -1144

Beispiel 3 Ausgabe:

Geben Sie negative Ganzzahlen ein (1 bis Ende): 1

Keine Eingabe!

-1
Chuen Wong 7 Okt. 2020 im 16:36

2 Antworten

Beste Antwort

Verwenden Sie dieses, wobei 'Ende' 1 als Stopp ist:

list = []
num = 0
stop = False

num = input('Enter a negative integer (1 or ‘end’ to end):')

if num=='end':
    num=1
else: num=int(num)

if num == 1:
    print('No input!')
else:
    list.append(num)
    print(list)
    while stop == False:
        num = input('Enter a negative integer (1 or ‘end’ to end):')
        if num=='end':
            num=1
        else: num=int(num)
        list.append(num)
        print(list)
        if num == 1:
            stop = True
            print('The smallest integer is', min(list))
0
Timur U 7 Okt. 2020 im 13:51

Das Hauptproblem hierbei ist, dass Sie int() für num input verwenden. Sie können also nur eine Nummer für num erhalten, oder wenn Sie etwas anderes wie end eingeben, wird ein Fehler ausgelöst.

Einfach ausgedrückt können Sie eine Zeichenfolge nur dann in eine Ganzzahl umwandeln, wenn diese Zeichenfolge eine Zahl ist. Im wirklichen Leben können Sie nicht nummerierten Text in keiner Weise in eine Ganzzahl umwandeln. Ähnlich funktioniert es hier.

Daher sollten Sie zunächst alle Arten von Zeichenfolgen akzeptieren. Wenn num weder 1 noch end ist, können Sie diese in eine Ganzzahl umwandeln.

list = []
num = 0
stop = False

num = input('Enter a negative integer (1 or ‘end’ to end):')
if num == '1' or num == 'end':
    print('No input!')
else:
    int(num) # now turning num into an integer
    list.append(num)
    print(list)
    while stop == False:
        num = int(input('Enter a negative integer (1 or ‘end’ to end):'))
        list.append(num)
        print(list)
        if num == 1:
            stop = True
            print('The smallest integer is', min(list))
0
CEO1111 7 Okt. 2020 im 14:00