如果用户输入“”,如何创建默认值?

2024-09-28 17:00:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我的学校程序需要制作一个棋盘,如果用户不输入任何内容,程序将默认为一个设定值。这是我的密码

from chessboard import drawChessboard
import turtle
t = turtle.Turtle()

#main function
def main():
    #input
    width = input("Please enter the starting X-coordinate:  ")
    height = input("Please enter the starting Y-Coordinate: ")
    startX = int(input("Please enter the width of the chessboard: "))
    startY = int(input("Please enter the height of the chessboard:  "))
    if width == "" and height == "":
        drawChessboard(startX, startY)
    elif height == "":
        drawChessboard(startX, startY, width=eval(width))
    elif width == "":
        drawChessboard(startX, startY, height=eval(height))
    else:
        drawChessboard(startX, startY, eval(width), eval(height))

main()
turtle.done()

这是我在pycharm的主要文件中附带的第二个

import turtle

t = turtle.Turtle()

def drawRectangles(widthd, heightd, startXd, startYd):
    t.pendown()
    t.color("black")
    t.begin_fill()
    t.left(90)
    t.forward(heightd / 8)
    t.right(90)
    t.forward(widthd / 8)
    t.right(90)
    t.forward(heightd / 8)
    t.right(90)
    t.forward(widthd / 8)
    t.right(180)
    t.end_fill()
    t.penup()
    if startXd and startYd == 0:
        t.color("black")

def drawAllRectangles(widthd, heightd, startXd, startYd):
    row1 = 0
    while row1 < 8:
        t.goto(startXd + (widthd / 8) * row1, startYd)
        drawRectangles(widthd, heightd, startXd, startYd )
        row1 += 2

    row2 = 1
    while row2 < 8:
        t.goto(startXd + (widthd / 8) * row2, startYd + (heightd / 8))
        drawRectangles(widthd, heightd, startXd, startYd)
        row2 += 2

    row3 = 0
    while row3 < 8:
        t.goto(startXd + (widthd / 8) * row3, startYd + (heightd / 8) * 2)
        drawRectangles(widthd, heightd, startXd, startYd)
        row3 += 2

    row4 = 1
    while row4 < 8:
        t.goto(startXd + (widthd / 8) * row4, startYd + (heightd / 8) * 3)
        drawRectangles(widthd, heightd, startXd, startYd)
        row4 += 2

    row5 = 0
    while row5 < 8:
        t.goto(startXd + (widthd / 8) * row5, startYd + (heightd / 8) * 4)
        drawRectangles(widthd, heightd, startXd, startYd)
        row5 += 2

    row6 = 1
    while row6 < 8:
        t.goto(startXd + (widthd / 8) * row6, startYd + (heightd / 8) * 5)
        drawRectangles(widthd, heightd, startXd, startYd)
        row6 += 2

    row7 = 0
    while row7 < 8:
        t.goto(startXd + (widthd / 8) * row7, startYd + (heightd / 8) * 6)
        drawRectangles(widthd, heightd, startXd, startYd)
        row7 += 2

    row8 = 1
    while row8 < 8:
        t.goto(startXd + (widthd / 8) * row8, startYd + (heightd / 8) * 7)
        drawRectangles(widthd, heightd, startXd, startYd)
        row8 += 2

def drawChessboard(widthd, heightd, startXd, startYd):
    t.color("red")
    t.penup()
    t.goto(startXd, startYd)
    t.pendown()
    t.goto(widthd + startXd, startYd)
    t.goto(widthd + startXd, heightd + startYd)
    t.goto(startXd, heightd + startYd)
    t.goto(startXd, startYd)
    t.color("black")
    drawAllRectangles(widthd, heightd, startXd, startYd)

如何添加一个参数使其默认为250?代码可以工作,但当输入的值为nothing时不起作用。因为是为了学校,我不能删除main函数中的if/else语句。我确信答案是显而易见的,但我是python的新手,所以我不知道如何解决它


Tags: theinputwidthheightturtlewhilegotostartx