from sys import argv
char = argv[1]
n = int(argv [2])
for i in range(0, n):
if i == 0 or n - 1:
for j in range(0, n):
char += "n"
print char * n
else:
for j in range(0, n):
if j == 0 or j = n-1:
char += "n"
else:
char += "/n"
回答
abccd's answer應該很好地工作。但是,如果你想知道爲什麼你的代碼是不工作:
if條件
if i == 0 or n - 1
將成爲所有n>1
如此。可能你想寫if i == 0 or i == n - 1
你並不需要在
if i == 0 or i == n - 1
內的for j...
循環。執行print char * n
n次打印char
。該
if j == 0 or j = n-1:
再次是不正確的。j = n-1
部分完成作業而不是比較。要打印if-else中的字符或空格,您可以使用
sys.stdout.write
。
最終的代碼可能看起來像:
from sys import argv
import sys
char = argv[1]
n = int(argv [2])
for i in range(0, n):
if i == 0 or i == n - 1:
print char * n
else:
for j in range(0, n):
if j == 0 or j == n-1:
sys.stdout.write(char)
else:
sys.stdout.write(' ')
sys.stdout.write("\n")
而像這樣
$ python script.py q 5
qqqqq
q q
q q
q q
qqqqq
這實際上現在正在工作,這是我打算在我的命令提示符屏幕上看到的。我只想問一下「sys.stdout.write」是做什麼的? –
@AlgerAranda,我在這裏使用'sys.stdout.write'的原因是它只是將給定的字符打印到控制檯,而(與'print'相反)不會添加換行符。您可能想要查看詳細信息:https://stackoverflow.com/a/3263763/4045754 – yeniv
打印回字型我想你可以做這樣的事情:
char = 'n'
n = 10
# char = argv[1]
# n = int(argv [2])
print n*char
for i in range(n-2):
print (' '*(n-2)).center(n, char)
print n*char
# output: a 10 x 10 "square" of n
nnnnnnnnnn
n n
n n
n n
n n
n n
n n
n n
n n
nnnnnnnnnn
- 1. 我想從python的url用戶輸入
- 2. 的Python用戶輸入
- 3. 用戶輸入的Python龜
- 4. 如何從用戶輸入python
- 5. 從用戶輸入
- 6. 從用戶輸入
- 7. 從用戶輸入
- 8. python - 定時用戶輸入
- 9. Python-多用戶輸入
- 10. Python用戶輸入平均
- 11. Python用戶輸入重播
- 12. 掃描用戶輸入python
- 13. Python - 讀寫用戶輸入
- 14. 用戶輸入Python 2.7
- 15. Python用戶輸入等式
- 16. 檢查用戶輸入python
- 17. Python 3.4用戶輸入
- 18. Python用戶輸入棋盤
- 19. 從用戶輸入的值
- 20. 用於Python的用戶輸入循環
- 21. 用Python MySQLdb的用戶輸入日期
- 22. 用於用戶輸入的python庫
- 23. 如何使用Python中的輸入框從用戶處獲取輸入?
- 24. 將用戶輸入寫入文件python
- 25. 使用Python輸入用戶輸入的問題
- 26. 刪除用戶輸入的Python
- 27. 獲取Python用戶的按鍵輸入
- 28. 用戶輸入的Python安全限制
- 29. Python的檢查用戶輸入
- 30. Python 3.5中GUI的用戶輸入
什麼是你的問題的工作? – Ray
請閱讀[問]。 – boardrider