提问人:mendozaic 提问时间:11/1/2023 最后编辑:mendozaic 更新时间:11/6/2023 访问量:86
使用 Python 顺时针和逆时针旋转阵列 ASCII 艺术
rotate clockwise and counterclockwise array ascii art with python
问:
我有一个 ASCII 艺术图纸列表,我想顺时针和逆时针旋转 90 度而不会丢失图形。我正在使用 Python。
这是我拥有的 ASCII 艺术数组列表:
ascii_art_list = [[
" /\\_/\\ ",
" ____/ o o \\",
" /~____ =ø= /",
" (______)__m_m)"
],
[
" _........_",
" .d888888888888b.",
" d888+\"\"\"\"\"\"+888888.",
" 8b' o o `88888b",
" _.8P (_) .888888",
"d88P .____, .d88888P",
"888b. :88888P'",
"`\"\"\"\"\"`-----`\"\"\"\"' mh"
],
[
" ,--,",
" ,' :.------.",
" ,--;,--= \\ `.",
" ,------;--' -~~\"\"--' `.",
" ,' ,' \\",
" / /' _,,--'< \\",
" +----'-' ,' \\ :",
" ,' / _-' ._ | _",
" / : ,' .. `--. |_ |\"",
" ; `-, '' / `. ; ) __ O",
" | / ,--' | / '--~,'|",
" | .\\ ,-' / ,\\ ;._' ,' .-.",
" | | `--' ,+----' \\/ `'_,' | |",
" : _ | ,' `. \\,,.-' O O",
" \\ ( '-+. `-.._,..--'|\\,___\\`-. \\ .",
" _`---' | `----\\ ;|o\\ `.__-' |",
" ((~,/ ~ | / `--' |o \\ ,,' `. |",
" \\\\ ' _,-| / '--' ,' |`. .--------+-.",
" '\"~~ | _,-',---..__,.,=' \\ / `-. | [+++]ooO |",
" '\"\" | / //ooo `-\\. /....' | |",
" -hrr- _.-'/ \\ /|,8888. \\\\ ,'.....' | (#) (#) |",
" ---___ `-._/ |`8888P |_' .-''' `----------'",
" `````` '-..,___,.,`' .-' _"
],
[
"()___()",
"< @ @ >",
" | | ",
" {o_o} ",
" (|) "
],
[
" ;;",
" ,;;'\\",
" __ ,;;' ' \\",
" /' '\\~~'~' \\ /'\\.)",
" ,;( ) / |",
",;' \\ /-.,,( )",
" ) / ) /",
" // ||",
" (_\\ (_\\"
],
[
" _",
" / \\ _-'",
" _/| \\-''- _ /",
" __-' { | \\",
" / \\",
" / \"o. |o }",
" | \\ ;",
" ',",
" \\_ __\\",
" ''-_ \\.//",
" / '-____'",
" /",
" _'",
" _-'"
]
]
预期的结果是
我正在实现这个功能。
def rotar_90_grados_horario():
if not ascii_art_list:
print("No hay ningún ASCII Art cargado.")
return
choice = int(input("Elija un número de ASCII Art para rotar: ")) - 1
if 0 <= choice < len(ascii_art_list):
for row in ascii_art_list[choice]:
# lenrow = len(row)
lenrow = len(row[0])
if len(row[0]) < len(row):
lenrow = len(row)
# print(f"lenrow, {len(row)}")
fila = len(ascii_art_list[choice])
columna = lenrow
rotated_art = []
for i in range(len(ascii_art_list[choice][0])):
row = []
for j in range(len(ascii_art_list[choice])-1, -1, -1):
row.append(ascii_art_list[choice][j][i])
rotated_art.append(row)
print("\nASCII Art rotado 90 grados en sentido horario:")
for row in rotated_art:
print("".join(row))
else:
print("Selección no válida.")
但第四个结果是
<(
{| )
(o @_
|_ _
)o @_
}| (
>)
和数字丢失了
答: 暂无答案
评论