问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何用python完成:用自顶向下设计方法编写程序:在屏幕上打印三角函数y = sin(x)的图像。

发布网友 发布时间:2022-04-18 01:54

我来回答

2个回答

热心网友 时间:2022-04-18 03:23

I wrote this in Tkinter for you, in case you don't know Tkinter, it is a built-in mole for most python versions.

If you want a commandline version, you can ask me, but tell you what, since those values are all

float numbers, so it's hard to get a precise graph in commandline window.

Well, in this version, I enlarged each element's position by 40 and then change them to integer, guess this is an enrable loss of precision.

#

from math import radians
from math import sin
from Tkinter import *


pos = []
xPos = 0
centerX = 0
centerY = 0
for deg in range(-360, 361, 10):
pos.append([xPos, int(40*(sin(radians(deg))))]) #1000 too big for my screen
xPos+=1
if deg == 0:
centerX = xPos-1
centerY = pos[-1][1]

root = Tk()
root.title('trianble graph from -180 to 180')
width, height = 550, 450
mHei = height/2
mWid = width/2

canvas = Canvas(root, width=width, height=height)
canvas.create_line(0, mHei, width, mHei)   #x axis
canvas.create_line(mWid, 0, mWid, height)  #y axis

xStep = (width-150)/len(pos)
yStep = (height-150)/len(pos)

radius = 3
# the middle point (sin(0) is first drawn and used as position reference for all
canvas.create_oval(mWid-radius, mHei-radius, mWid+radius, mHei+radius, fill='green')

print pos
print xStep, yStep, centerX, centerY
#exit(0)
for i in pos:
if i[0] == centerX: #center processed already.
continue
x = mWid + xStep*(i[0]-centerX)
# y is smaller, the bigger the value, so use minus
y = mHei - yStep*(i[1]-centerY)
canvas.create_oval(x-radius, y-radius, x+radius, y+radius, fill='green')

canvas.pack()
root.mainloop()


热心网友 时间:2022-04-18 04:41

#coding=utf-8
#name    格子绘图
import math
import random

def box(ox,oy,vv):
    """绘制图形 ox~格长 oy~格高 
    vv~坐标列表
    dss~底色图案 hss绘图图案"""
    dss,hss = ".","*"
    ds=dss
    #print vv
    print "X",
    for x in range(ox+1):
        xs=chr(x+65)
        print "%s" % xs,
    print 
    for y in range(oy,0,-1):
        print "%.2d" % y,
        for j in range(ox):
            for v in vv:
                if j==v[0]-1 and \
                   y==v[1]:
                   ds=hss
            print "%s" % ds,
            ds=dss
        print "%.2d" % y
    print "Y",
    for x in range(ox+1):
        xs=chr(x+65)
        print "%s" % xs,
    print 
def dws(l): #返回坐标列表 l~点数
    vzb=[[0,0]]
    for i in range(1,l+1):
        x=i
        y=hansu(x)
        vzb.append([x,y])
    return vzb
def hansu(x): #计算坐标函数 x~x值
    #y=math.sin(x)
y=x
    return round(y)
if __name__=="__main__":
   box(20,20,dws(40))

追问

另外再问一下这种能显示行数的python是怎么搞出来的?我用的是这种

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
手机玻璃硬度是多少合适 ips屏幕硬度怎么样 手机硬度是什么意思? 2024年拼多多春节发货时间规定是什么?过年还要48小时发货吗? e元素e8100无线鼠标怎么使用 E元素X-8100靠谱吗?可以用几年? E元素X-8100现在有几种配色,哪一种配色好呢? E元素X-8100用的是什么色的轴,适合玩游戏吗? 浙c是哪个城市 浙c是哪里 榻榻米软包怎么安装 知道一个字的区位码和国标码,怎么计算它的机内码 ? 汉字“奥”的区位码是“1634”,则它的国际码为多少?怎么计算的? 区位码,国际码和机内码互相怎样转化 区位码5448转换成国标码怎么算 汉字的机内码,国际码,区位码 之间的转换关系 区位码变国标码的计算 汉字区位码和国际码怎么换算??? 国标码和区位码怎么算啊 QQ汽车开启暖风时在开启外循环有汽油味是怎么回事?内循环就没有。车不带空调的 汽车外循环有时有汽油味是怎么回事 车子开空调外循环有汽油味,内循环没有是怎么回事? 车子刚起动或熄火的时候,外循环空调出风口就会有汽油味,什么原因,有谁遇到过吗? 汽车外循环模式下有汽油味,内循环没有咋回事 打开空调外循环有汽油味如何破 加拿大的英语是什么? canada是什么国家 canada的音标怎么写a的音标第四个字母的音标? 加拿大用英文怎么写 canada第一个a 的音标 钱放在国商控股好还是银行好? 淘宝买家收到货后不满意,退货并退款,再退回的中途快件丢失,这个责任算谁的? 鸡翅炖豆腐的做法,鸡翅炖豆腐怎么做好吃,鸡翅 豆制品鸡翅丝做法 豆腐煮鸡翅根怎么做好吃 小米手机只要是连续开机几天就会使内存占用接近600M甚至要多,哪怕是什么软件都不开,只有重启,不知为何。 甘肃的民俗风情有哪些 甘肃的风土人情 手机热点台式电脑可以用吗? 甘肃的风俗文化 我喜欢你 韩语怎么说 韩语,“我喜欢你”怎么说,求语音 “我喜欢你”“我爱你”用日语、韩语该怎么说 王清伟我喜欢你 用韩语怎么说 甘肃民风民俗作文200字 新石器时代甘肃境内有哪些具有代表性的文化? 我办过老年卡在深圳坐地铁与公交不带身份证用微信下载的深圳通乘车码能用手机? 为什么昨天我股票卖了帐户里还有凯众申购 上海凯众材料科技股份有限公司霸王条款:员工受伤后,不让医治,也不让休息,强令作业,谁敢管? 中老年妇女怎样打扮比较好? 玫瑰花前顷后仰像什么