萍乡特色双语示例正弦打点神奇的C++精灵库

视频网址在:https://www.douyin.com/user/self?from_tab_name=main&modal_id=7677825900896898344

请睁大你的眼睛,看到最后。
这里有两种计算机语言程序,
它们实现了同样的功能,
核心逻辑一模一样,
甚至有些代码在两种语言中是一样的。
这得归功于C++精灵库的功能。
它就是这样的神奇。
让学习编程脱离了具体的计算机语言。
通过对比学习,实现编程思维的升华。

程序运行效果:

萍乡C++精灵库正弦打点与Python turtle打点程序

C++代码如下:

#include "sprites.h"
#include <string>
#include <vector>
#include <math.h>
using namespace std;
int main(){
   Sprite t;
   t.speed(0).delay(0);   
   t.fd(500).bk(1000).fd(500).left(90);
   t.fd(500).bk(1000).fd(500).right(90);
   t.pu();
   vector<string> cs = {"red","orange","yellow","magenta","brown",
                       "lime","green","cyan","blue","purple"};   
	while(true){
	    int x = randint(-500,500);
	    int y = randint(-500,500);
	    string ys = cs[randint(0,9)] ; // 从序列中随机选择
	    t.pencolor( ys );
	    float y0 = 100* sin(x*3.1415926/180);
	    if(y*y0 > 0 and abs(y) < abs(y0)) {
	        t.go(x,y);
	        t.dot(4);
       }
   }
   return 0;
} 

python代码如下:

import math
import random
import turtle as t

t.speed(0);t.delay(0)
t.fd(500);t.stamp();t.bk(1000);t.fd(500);t.left(90)
t.fd(500);t.stamp();t.bk(1000);t.fd(500);t.right(90)
t.pu()
cs = ['red','orange','yellow','magenta','brown',
      'lime','green','cyan','blue','purple']
while True:
    x = random.randint(-500,500)
    y = random.randint(-500,500)
    ys = random.choice(cs) # 从序列中随机选择
    t.pencolor( ys )
    y0 = 100* math.sin(x*3.1415926/180)
    if y*y0 > 0 and abs(y) < abs(y0):    
        t.goto(x,y)
        t.dot(4)

关于李兴球

李兴球的博客是Python创意编程原创博客
此条目发表在C++, python分类目录。将固定链接加入收藏夹。

发表回复