2017-02-22 10 views
-1

こんにちは私はプログラミングが初めてで、リストを縦にソートしようとしています。入力から並べ替え

これはこれは私が私の出力は、この

Student: peng Ivan 
Class Roll 
Ivan 
Peng 

注見えるようにしたい場合は、私のコードは

Students: Peng Ivan 
Class Roll 
['Ivan', 'Peng'] 

を生成し出力し

names = input('Students: ').split() 
names.sort() 
print('Class Roll') 
print(names) 

私の現在のコードです:コードは自動的にそれぞれの名前の首都の最初の文字を作るべきで、アルファベットでもありますlオーダー。

ありがとうございました。

+0

私はあなたがverticalと言うことを理解していません。 – user218046

+0

こんにちは!ようこそ。 [良い質問をする方法](http://stackoverflow.com/help/how-to-ask)をご覧ください。具体的には、これまで何を試みましたか?何が起こったのですか? –

+2

familar:http://stackoverflow.com/questions/42385979/sorting-a-list-of-students –

答えて

0

コードは、私が最初に大文字にして、ここに並べ替えています多少この

inp_names = input('Students: ').split() 
names = [] 
for name in inp_names: 
    names.append(name.capitalize()) 
print('Class Roll') 
names.sort() 
for name in names: 
    print(name) 
+0

大文字の小文字の組み合わせがある場合、これは期待どおりに動作しません。 –

+0

@salmanwahed彼は名前を使って作業しているので、大文字と小文字の値が混ざっているとは思えません。あなたはsAlManのようにレコードに名前を表示させたくないでしょう:P –

+0

'Salman'や' ashwin'のような名前があればどうなりますか?あなたの解決策によれば、「Salman」がまず登場するでしょう。これは解決策ではありません。 –

2
for name in names: 
    print(name.capitalize()) # capitalize() will capitalize name 
+0

これを追加するために私のコードで何が置き換えられますか? – Car

+0

'print(" Class Roll ")の後に。 –

+0

name.capitalizeは単語全体を大文字にします – Car

0

のようになります。

names = map(lambda x:x.capitalize(), raw_input("Student: ").split()) 
names.sort() 
print('Class Roll') 
for name in names: 
    print name 
+0

コードは動作しません – Car

+0

あなたのpythonのバージョン –

0

私はこれを達成したいと思います。

for name in sorted(names, key=lambda x: x.capitalize()): 
    print(name.capitalize()) 
関連する問題