2009-02-19 38 views

Trả lời

12
python -c "for x in range(1,10): print x" 

Chỉ cần thêm dấu hai chấm.

Để giải quyết những câu hỏi trong các ý kiến:

Làm thế nào tôi có thể làm cho công việc này mặc dù? python -c "lịch nhập khẩu; in calendar.prcal (2009); cho x trong khoảng (1,10): print x"

python -c "for x in range(1,10): x==1 and __import__('calendar').prcal(2009); print x;" 

Như bạn có thể thấy nó khá thô thiển. Chúng tôi không thể nhập trước vòng lặp. Để giải quyết vấn đề này, chúng ta kiểm tra xem x có ở lần lặp đầu tiên trong vòng lặp hay không, nếu vậy chúng ta thực hiện việc nhập.

Ví dụ khác here.

+0

@Luis: bạn cần phải thêm dấu hai chấm, ngay cả khi không chạy một dòng lệnh. – nosklo

+0

Làm thế nào tôi có thể thực hiện công việc này? python -c "nhập lịch; in calendar.prcal (2009); cho x trong phạm vi (1,10): in x" – Luis

+0

+1 chỉ cho liên kết đó! –

3

Không phải là một kịch bản python, nhưng có thể giúp:

for /L %i in (1, 1, 10) do echo %i 
1

Đừng bạn chỉ muốn này?

python -c “cho x trong khoảng (1,10): print x”

3
python -c "for x in range(1,10): print x" 

Remember the ":" !!

1

Đây là giải pháp không yêu cầu đặt câu sau dấu hai chấm, không được coi là rất cao.

python2 -c "print '\n'.join([str(x) for x in range(1,10)])" 

Còn gì lạ hơn là hiểu danh sách!

+0

Tuyên bố từ chối trách nhiệm: Tôi thực sự không thích điều này tốt hơn. Tôi đặt câu sau dấu hai chấm nhiều hơn tôi nên. Có lẽ vì tôi có màn hình rộng. – SingleNegationElimination

0
python -c 'print "\n".join(map(str, range(1,10)))' 

nhưng có gì sai trong tập lệnh python "thực"? (bạn biết đấy, một foo.py được khởi chạy qua "python foo.py") Nếu bạn thực sự thích một lớp lót, tôi đề nghị perl :)

Các vấn đề liên quan