2013-03-22 24 views
5

Şu anda iki basamaklı bir sayı için kullanıcı girdisini kabul eden bir program oluşturmak için Python kullanıyorum ve sayıları tek bir satırda çıkaracağım.İki basamaklı bir # kabul eden bir program yazmak, onu bozuyor

Örnek için

: ve "ikinci basamak 7" Programım sadece benim programı "ilk basamak 2'dir" yazdırmak mümkün istiyorum 27

kullanmak sağlar, kullanıcıdan bir sayı alacak Biliyorum modülleri kullanmam gerekecek (%) ama ben bunun için yeni ve biraz kafam karıştı!

+2

Şaşkın neyle ilgili? Ne kadar uzaklaştın? – Blender

+0

Python konuşamıyorum, ancak bir alt dize işlevi olmalı. Bunu nasıl kullanacağına bak. Modül kullanmaktan daha kolay olabilir. Aslında, bu sorunu çözmek için modülü nasıl kullanacağınızı anlamıyorum. – Piccolo

+1

@HobbitHole - '%', dizeleri biçimlendirme işlemleri yapmak için aşırı yüklendi. Sanırım C printf değiştiricileriyle benzerlikler paylaşıyor. – mgilson

cevap

2

bu deneyin:

val = raw_input("Type your number please: ") 
for i, x in enumerate(val, 1): 
    print "#{0} digit is {1}".format(i, x) 
+4

Bir sonraki ödevi de yapabilir misiniz? – Blender

+1

@Blender no, ama bazen insanların nereye gideceği en azından yöne ihtiyacı var, bu sefer ona çözümü verdim, bir dahaki sefere onunla nasıl başa çıkacağını bilecek. –

1

Bu sorunuza net değildi sen kalanı için dize ikamesi için % veya % kullanmak isteyen olup olmadığını. Bütünlüğü için

, şu şekilde görünecektir ints üzerinde modül operatörünü kullanarak mathsy yolu: Bir dize sanki

>>> val = None 
>>> while val is None: 
... try: 
...  val = int(raw_input("Type your number please: ")) 
... except ValueError: 
...  pass 
... 
Type your number please: potato 
Type your number please: 27 
>>> print 'The first digit is {}'.format(val // 10) 
The first digit is 2 
>>> print 'The second digit is {}'.format(val % 10) 
The second digit is 7 
+0

Çok teşekkür ederim! Ayrıca nasıl yapacağımı merak ediyorum da üç basamaklı bir sayı için aynı şeyi yapardı. – user2197867

+0

Bir denemeniz var. Bir düşüncen varsa, genellemek kolaydır ... – wim

0

iki haneli bir sayı düşünün. Her basamağı bu şekilde almak daha kolaydır. Str() işlevi, tam sayıyı bir dizgiye dönüştürür. Modulos bu dizeleri metninize yerleştirmenize izin verir.

kullanıcı ölçüm girişlerini değişken denilen num içine 27 varsayılırsa, kod şudur: Python kodlama

print 'The first digit is %s and the second digit is %s' % (str(num)[0], str(num)[1]) 
0

bir başka yolu:

val = raw_input("Type your number please: ") 
for i in list(val): 
    print i 

Not: val dize olarak okunur. Tamsayı değiştirme için kullanın

İlgili konular