Docker autobuild of pytago project
538
Pytago is a source-to-source transpiler that converts some Python into human-readable Go.
There are two "officially" supported ways to use Pytago:
git clone https://github.com/nottheswimmer/pytago/
cd pytago
docker build -t pytago .
docker run -p 8080:8080 -e PORT=8080 -it pytago
# User interface
open http://127.0.0.1:8080/
# API
curl --request POST 'http://127.0.0.1:8080/' \
--header 'Content-Type: application/json' \
--data-raw '{"py": "print(\"Hello World\")"}'
go get -u golang.org/x/tools/cmd/goimports mvdan.cc/gofumpt github.com/segmentio/golinespip install pytago
git clone https://github.com/nottheswimmer/pytago/
cd pytago
pip install -e .
git clone https://github.com/nottheswimmer/pytago/
cd pytago
pip install .
usage: pytago [-h] [-o OUTFILE] INFILE
positional arguments:
INFILE read python code from INFILE
options:
-h, --help show this help message and exit
-o OUTFILE, --out OUTFILE
write go code to OUTFILE
All examples presented here are used as tests for the program.
def main():
a = [1, 2, 3]
a.append(4)
print(a)
if __name__ == '__main__':
main()
package main
import "fmt"
func main() {
a := []int{1, 2, 3}
a = append(a, 4)
fmt.Println(a)
}
def main():
print(abs(-6))
print(abs(3))
if __name__ == '__main__':
main()
package main
import (
"fmt"
"math"
)
func main() {
fmt.Println(math.Abs(-6))
fmt.Println(math.Abs(3))
}
def main():
print("hello world")
if __name__ == '__main__':
main()
package main
import "fmt"
func main() {
fmt.Println("hello world")
}
def main():
print("Hi, what's your name?")
name = input("Name: ")
print("Hi", name, "how old are you?")
age = int(input("Age: "))
print("Describe yourself in one sentence:")
description = input()
print("So your name is", name, "and you are", age, "years old, and your description is", '"' + description + '"')
if __name__ == '__main__':
main()
package main
import (
"bufio"
"fmt"
"os"
"strconv"
"strings"
)
func main() {
fmt.Println("Hi, what's your name?")
name := func(msg string) string {
fmt.Print(msg)
text, _ := bufio.NewReader(os.Stdin).ReadString('\n')
return strings.ReplaceAll(text, "\n", "")
}("Name: ")
fmt.Println("Hi", name, "how old are you?")
age := func() int {
i, err := strconv.ParseInt(func(msg string) string {
fmt.Print(msg)
text, _ := bufio.NewReader(os.Stdin).ReadString('\n')
return strings.ReplaceAll(text, "\n", "")
}("Age: "), 10, 64)
if err != nil {
panic(err)
}
return int(i)
}()
fmt.Println("Describe yourself in one sentence:")
description := func() string {
text, _ := bufio.NewReader(os.Stdin).ReadString('\n')
return strings.ReplaceAll(text, "\n", "")
}()
fmt.Println(
"So your name is",
name,
"and you are",
age,
"years old, and your description is",
"\""+description+"\"",
)
}
import random
def main():
print(random.random())
print(random.randrange(9000, 10000))
print(random.randint(9000, 10000))
items = ["Hello", 3, "Potato", "Cake"]
print(random.choice(items))
random.shuffle(items)
print(items)
u = random.uniform(200, 500)
print(u)
if random.random() > 0.5:
print("50/50")
names = ['Kitchen', 'Animal', 'State', 'Tasty', 'Big', 'City', 'Fish', 'Pizza', 'Goat', 'Salty', 'Sandwich',
'Lazy', 'Fun']
company_type = ['LLC', 'Inc', 'Company', 'Corporation']
company_cuisine = ['Pizza', 'Bar Food', 'Fast Food', 'Italian', 'Mexican', 'American', 'Sushi Bar', 'Vegetarian']
for x in range(1, 501):
business = {
'name': names[random.randint(0, (len(names) - 1))] + ' ' + names[
random.randint(0, (len(names) - 1))] + ' ' + company_type[random.randint(0, (len(company_type) - 1))],
'rating': random.randint(1, 5),
'cuisine': company_cuisine[random.randint(0, (len(company_cuisine) - 1))]
}
print(business)
if __name__ == '__main__':
main()
package main
import (
"fmt"
"math/rand"
"time"
)
func init() {
rand.Seed(time.Now().UnixNano())
}
func main() {
fmt.Println(rand.Float64())
fmt.Println(func(start int, stop int) int {
n := stop - start
return rand.Intn(n) + start
}(9000, 10000))
fmt.Println(func(start int, stop int) int {
n := stop - start
return rand.Intn(n) + start
}(9000, 10000+1))
items := []interface{}{"Hello", 3, "Potato", "Cake"}
fmt.Println(items[rand.Intn(len(items))])
rand.Shuffle(len(items), func(i int, j int) {
items[i], items[j] = items[j], items[i]
})
fmt.Println(items)
u := func(a float64, b float64) float64 {
return rand.Float64()*(b-a) + b
}(200, 500)
fmt.Println(u)
if rand.Float64() > 0.5 {
fmt.Println("50/50")
}
names := []string{
"Kitchen",
"Animal",
"State",
"Tasty",
"Big",
"City",
"Fish",
"Pizza",
"Goat",
"Salty",
"Sandwich",
"Lazy",
"Fun",
}
company_type := []string{"LLC", "Inc", "Company", "Corporation"}
company_cuisine := []string{
"Pizza",
"Bar Food",
"Fast Food",
"Italian",
"Mexican",
"American",
"Sushi Bar",
"Vegetarian",
}
for x := 1; x < 501; x++ {
business := map[string]interface{}{"name": names[func(start int, stop int) int {
n := stop - start
return rand.Intn(n) + start
}(0, len(names)-1+1)] + " " + names[func(start int, stop int) int {
n := stop - start
return rand.Intn(n) + start
}(0, len(names)-1+1)] + " " + company_type[func(start int, stop int) int {
n := stop - start
return rand.Intn(n) + start
}(0, len(company_type)-1+1)], "rating": func(start int, stop int) int {
n := stop - start
return rand.Intn(n) + start
}(1, 5+1), "cuisine": company_cuisine[func(start int, stop int) int {
n := stop - start
return rand.Intn(n) + start
}(0, len(company_cuisine)-1+1)]}
fmt.Println(business)
}
}
def main():
lower = "hello world"
crazy = "HeLLo WoRlD"
upper = "HELLO WORLD"
lol = "---LOL---"
hearts = "๐งก๐๐๐๐"
arabic_indic_digit = "ู "
whitespace = " \v\f\t\r\n"
s_hello_s = whitespace + lower + whitespace
multiline = lower + "\n" + crazy + "\r\n" + upper + "\n"
print(crazy.capitalize())
print(lower.endswith("world"))
print(lower.find(" "))
print(lower.find(" ", 2))
print(upper.find(" ", 7, 8))
print(lower.index(" "))
print(lower.index(" ", 2))
print(upper.index(" ", 2, 8))
print(lower.isalnum())
print(hearts.isascii())
print(arabic_indic_digit.isdecimal())
print(arabic_indic_digit.isdigit())
print(lower.islower())
print(arabic_indic_digit.isnumeric())
print(hearts.isprintable())
print(whitespace.isspace())
print(upper.isupper())
print(hearts.join([lower, crazy, upper]))
print(crazy.lower())
print(s_hello_s.lstrip() + "|")
print(lower.lstrip("h"))
print(lower.removeprefix("hello "))
print(lower.removesuffix(" world"))
print(lower.replace("world", "gophers"))
print(upper.replace("O", "OOOOO", 1))
print(upper.rfind("O"))
print(upper.rfind("O", 1))
print(upper.rfind("O", 1, 6))
print(upper.rindex("O"))
print(upper.rindex("O", 1))
print(upper.rindex("O", 1, 6))
print(s_hello_s.rstrip() + "|")
print(lower.rstrip("d"))
print(lower.split())
print(upper.split("L"))
print(upper.split("L", 1))
print(multiline.splitlines())
print(upper.startswith("HELLO"))
print(s_hello_s.strip() + "|")
print(lol.strip("-"))
print(crazy.title())
print(crazy.upper())
if __name__ == '__main__':
main()
package main
import (
"bufio"
"errors"
"fmt"
"strings"
"unicode"
)
func main() {
lower := "hello world"
crazy := "HeLLo WoRlD"
upper := "HELLO WORLD"
lol := "---LOL---"
hearts := "๐งก๐๐๐๐"
arabic_indic_digit := "ู "
whitespace := " \u000b\f\t\r\n"
s_hello_s := whitespace + lower + whitespace
multiline := lower + "\n" + crazy + "\r\n" + upper + "\n"
fmt.Println(strings.ToUpper(crazy[0:1]) + strings.ToLower(crazy[1:]))
fmt.Println(strings.HasSuffix(lower, "world"))
fmt.Println(strings.Index(lower, " "))
fmt.Println(func() int {
if r := strings.Index(lower[2:], " "); r != -1 {
return r + 2
}
return -1
}())
fmt.Println(func() int {
if r := strings.Index(upper[7:8], " "); r != -1 {
return r + 7
}
return -1
}())
fmt.Println(func(X string, sub string) int {
if i := strings.Index(X, sub); i != -1 {
return i
}
panic(errors.New("ValueError: substring not found"))
}(lower, " "))
fmt.Println(func(X string, sub string, start int) int {
if i := func() int {
if r := strings.Index(X[start:], sub); r != -1 {
return r + start
}
return -1
}(); i != -1 {
return i
}
panic(errors.New("ValueError: substring not found"))
}(lower, " ", 2))
fmt.Println(func(X string, sub string, start int, end int) int {
if i := func() int {
if r := strings.Index(X[start:end], sub); r != -1 {
return r + start
}
return -1
}(); i != -1 {
return i
}
panic(errors.New("ValueError: substring not found"))
}(upper, " ", 2, 8))
fmt.Println(func(X string) bool {
for _, r := range X {
if !((unicode.IsLetter(r) || unicode.IsDigit(r)) && (unicode.IsDigit(r) || unicode.IsNumber(r))) {
return false
}
}
return true
}(lower))
fmt.Println(func(X string) bool {
for _, r := range X {
if r > unicode.MaxASCII {
return false
}
}
return true
}(hearts))
fmt.Println(func(X string) bool {
for _, r := range X {
if !unicode.Is(unicode.Nd, r) {
return false
}
}
return len(X) != 0
}(arabic_indic_digit))
fmt.Println(func(X string) bool {
for _, r := range X {
if !unicode.IsDigit(r) {
return false
}
}
return len(X) != 0
}(arabic_indic_digit))
fmt.Println(func(X string) bool {
lower_found := false
for _, r := range X {
if !unicode.IsLower(r) {
if !unicode.IsSpace(r) {
return false
}
} else {
lower_found = true
}
}
return lower_found && len(X) != 0
}(lower))
fmt.Println(func(X string) bool {
for _, r := range X {
if !(unicode.IsDigit(r) || unicode.IsNumber(r)) {
return false
}
}
return len(X) != 0
}(arabic_indic_digit))
fmt.Println(func(X string) bool {
for _, r := range X {
if !unicode.IsPrint(r) {
return false
}
}
return true
}(hearts))
fmt.Println(func(X string) bool {
for _, r := range X {
if !unicode.IsSpace(r) {
return false
}
}
return len(X) != 0
}(whitespace))
fmt.Println(func(X string) bool {
upper_found := false
for _, r := range X {
if !unicode.IsUpper(r) {
if !unicode.IsSpace(r) {
return false
}
} else {
upper_found = true
}
}
return upper_found && len(X) != 0
}(upper))
fmt.Println(strings.Join([]string{lower, crazy, upper}, hearts))
fmt.Println(strings.ToLower(crazy))
fmt.Println(strings.TrimLeftFunc(s_hello_s, unicode.IsSpace) + "|")
fmt.Println(strings.TrimLeft(lower, "h"))
fmt.Println(strings.TrimPrefix(lower, "hello "))
fmt.Println(strings.TrimSuffix(lower, " world"))
fmt.Println(strings.ReplaceAll(lower, "world", "gophers"))
fmt.Println(strings.Replace(upper, "O", "OOOOO", 1))
fmt.Println(strings.LastIndex(upper, "O"))
fmt.Println(func() int {
if r := strings.LastIndex(upper[1:], "O"); r != -1 {
return r + 1
}
return -1
}())
fmt.Println(func() int {
if r := strings.LastIndex(upper[1:6], "O"); r != -1 {
return r + 1
}
return -1
}())
fmt.Println(func(X string, sub string) int {
if i := strings.LastIndex(X, sub); i != -1 {
return i
}
panic(errors.New("ValueError: substring not found"))
}(upper, "O"))
fmt.Println(func(X string, sub string, start int) int {
if i := func() int {
if r := strings.LastIndex(X[start:], sub); r != -1 {
return r + start
}
return -1
}(); i != -1 {
return i
}
panic(errors.New("ValueError: substring not found"))
}(upper, "O", 1))
fmt.Println(func(X string, sub string, start int, end int) int {
if i := func() int {
if r := strings.LastIndex(X[start:end], sub); r != -1 {
return r + start
}
return -1
}(); i != -1 {
return i
}
panic(errors.New("ValueError: substring not found"))
}(upper, "O", 1, 6))
fmt.Println(strings.TrimRightFunc(s_hello_s, unicode.IsSpace) + "|")
fmt.Println(strings.TrimRight(lower, "d"))
fmt.Println(strings.Fields(lower))
fmt.Println(strings.Split(upper, "L"))
fmt.Println(strings.SplitN(upper, "L", 1))
fmt.Println(func(s string) (lines []string) {
sc := bufio.NewScanner(strings.NewReader(s))
for sc.Scan() {
lines = append(lines, sc.Text())
}
return
}(multiline))
fmt.Println(strings.HasPrefix(upper, "HELLO"))
fmt.Println(strings.TrimSpace(s_hello_s) + "|")
fmt.Println(strings.Trim(lol, "-"))
fmt.Println(func(s string) string {
ws := true
var sb strings.Builder
for _, r := range s {
if unicode.IsSpace(r) {
ws = true
sb.WriteRune(r)
} else if ws {
ws = false
sb.WriteRune(unicode.ToUpper(r))
} else {
sb.WriteRune(unicode.ToLower(r))
}
}
return sb.String()
}(crazy))
fmt.Println(strings.ToUpper(crazy))
}
def main():
l1 = [1]
l2 = ["hello", "how", "are", "you?"]
l3 = [6.2, 1.6, 1.2, 20.1]
l1.append(2)
print(l1)
l1.extend([4, 5])
print(l1)
l1.insert(3, 3)
print(l1)
print(l1.index(2))
print(l1.count(3))
l1.remove(3)
print(l1)
while l1:
print(l1.pop())
l3.clear()
print(l3)
l1.sort()
print(l1)
l2.sort()
print(l2)
l3.sort()
print(l3)
l3.sort(reverse=True)
print(l3)
l2.reverse()
print(l2)
l4 = l2.copy()
l4.pop()
print(l4)
print(l2)
if __name__ == '__main__':
main()
package main
import (
"errors"
"fmt"
"reflect"
"sort"
)
func main() {
l1 := []int{1}
l2 := []string{"hello", "how", "are", "you?"}
l3 := []float64{6.2, 1.6, 1.2, 20.1}
l1 = append(l1, 2)
fmt.Println(l1)
l1 = append(l1, []int{4, 5}...)
fmt.Println(l1)
l1 = append(l1, 3)
copy(l1[3+1:], l1[3:])
l1[3] = 3
fmt.Println(l1)
fmt.Println(func() int {
for i, val := range l1 {
if val == 2 {
return i
}
}
panic(errors.New("ValueError: element not found"))
}())
fmt.Println(func() int {
n := 0
for _, v := range l1 {
if v == 3 {
n += 1
}
}
return n
}())
func(s *[]int, x int) {
for i, val := range *s {
if reflect.DeepEqual(val, x) {
*s = append((*s)[:i], (*s)[i+1:]...)
return
}
}
panic(errors.New("ValueError: element not found"))
}(&l1, 3)
fmt.Println(l1)
for len(l1) != 0 {
fmt.Println(func(s *[]int) int {
i := len(*s) - 1
popped := (*s)[i]
*s = (*s)[:i]
return popped
}(&l1))
}
l3 = nil
fmt.Println(l3)
sort.Ints(l1)
fmt.Println(l1)
sort.Strings(l2)
fmt.Println(l2)
sort.Float64s(l3)
fmt.Println(l3)
sort.Sort(sort.Reverse(sort.Float64Slice(l3)))
fmt.Println(l3)
func(arr []string) {
for i, j := 0, len(arr)-1; i < j; i, j = i+1, j-1 {
arr[i], arr[j] = arr[j], arr[i]
}
}(l2)
fmt.Println(l2)
l4 := func(s *[]string) (tmp []string) {
tmp = append(tmp, *s...)
return
}(&l2)
func(s *[]string) string {
i := len(*s) - 1
popped := (*s)[i]
*s = (*s)[:i]
return popped
}(&l4)
fmt.Println(l4)
fmt.Println(l2)
}
def main():
a = {1, 2, 3, 4}
b = {4, 5, 6}
b.add(7)
print(a.union(b))
print(a.intersection(b))
print(a.difference(b))
print(a.symmetric_difference(b))
print(a.issubset(b))
print(a.issuperset(b))
if __name__ == '__main__':
main()
package main
import "fmt"
func main() {
a := map[int]struct{}{1: {}, 2: {}, 3: {}, 4: {}}
b := map[int]struct{}{4: {}, 5: {}, 6: {}}
b[7] = struct{}{}
fmt.Println(func(s1 map[int]struct{}, s2 map[int]struct{}) map[interface{}]struct{} {
union := map[interface{}]struct{}{}
for elt := range s1 {
union[elt] = struct{}{}
}
for elt := range s2 {
union[elt] = struct{}{}
}
return union
}(a, b))
fmt.Println(func(s1 map[int]struct{}, s2 map[int]struct{}) map[interface{}]struct{} {
intersection := map[interface{}]struct{}{}
for elt := range s1 {
if func() bool {
_, ok := s2[elt]
return ok
}() {
intersection[elt] = struct{}{}
}
}
return intersection
}(a, b))
fmt.Println(func(s1 map[int]struct{}, s2 map[int]struct{}) map[interface{}]struct{} {
difference := map[interface{}]struct{}{}
for elt := range s1 {
if !func() bool {
_, ok := s2[elt]
return ok
}() {
difference[elt] = struct{}{}
}
}
return difference
}(a, b))
fmt.Println(func(s1 map[int]struct{}, s2 map[int]struct{}) map[interface{}]struct{} {
symmetric_difference := map[interface{}]struct{}{}
for elt := range s1 {
if !func() bool {
_, ok := s2[elt]
return ok
}() {
symmetric_difference[elt] = struct{}{}
}
}
for elt := range s2 {
if !func() bool {
_, ok := s1[elt]
return ok
}() {
symmetric_difference[elt] = struct{}{}
}
}
return symmetric_difference
}(a, b))
fmt.Println(func(s1 map[int]struct{}, s2 map[int]struct{}) bool {
for elt := range s1 {
if !func() bool {
_, ok := s2[elt]
return ok
}() {
return false
}
}
return true
}(a, b))
fmt.Println(func(s1 map[int]struct{}, s2 map[int]struct{}) bool {
for elt := range s2 {
if !func() bool {
_, ok := s1[elt]
return ok
}() {
return false
}
}
return true
}(a, b))
}
A = [1, 2, 3]
for i, x in enumerate(A):
A[i] += x
B = A[0]
C = A[0]
D: int = 3
while C < A[2]:
C += 1
if C == A[2]:
print('True')
def main():
print("Main started")
print(A)
print(B)
print(C)
print(D)
if __name__ == '__main__':
main()
package main
import "fmt"
var (
A = []int{1, 2, 3}
B int
C int
D int
)
func init() {
for i, x := range A {
A[i] += x
}
B = A[0]
C = A[0]
D = 3
for C < A[2] {
C += 1
}
if C == A[2] {
fmt.Println("True")
}
}
func main() {
fmt.Println("Main started")
fmt.Println(A)
fmt.Println(B)
fmt.Println(C)
fmt.Println(D)
}
def main():
print(1 == True)
print(1 == False)
print(0 == True)
print(0 == False)
print()
print(1. == True)
print(1. == False)
print(0. == True)
print(0. == False)
print()
print(1+0j == True)
print(1+0j == False)
print(0+0j == True)
print(0+0j == False)
print()
print(2 == True)
if __name__ == '__main__':
main()
package main
import "fmt"
func main() {
fmt.Println(1 == 1)
fmt.Println(1 == 0)
fmt.Println(0 == 1)
fmt.Println(0 == 0)
fmt.Println()
fmt.Println(1.0 == 1)
fmt.Println(1.0 == 0)
fmt.Println(0.0 == 1)
fmt.Println(0.0 == 0)
fmt.Println()
fmt.Println(1+0.0i == 1)
fmt.Println(1+0.0i == 0)
fmt.Println(0+0.0i == 1)
fmt.Println(0+0.0i == 0)
fmt.Println()
fmt.Println(2 == 1)
}
def main():
print(add(2, 2))
def add(a: int, b: int) -> int:
return a + b
if __name__ == '__main__':
main()
package main
import "fmt"
func main() {
fmt.Println(add(2, 2))
}
func add(a int, b int) int {
return a + b
}
def main():
print(2 ** 8)
if __name__ == '__main__':
main()
package main
import (
"fmt"
"math"
)
func main() {
fmt.Println(math.Pow(2, 8))
}
def main():
a = 3
b = 7
a = a + b
print(a + b)
another_scope()
def another_scope():
a = 1
b = 12
a = a + b
print(a + b)
if __name__ == '__main__':
main()
package main
import "fmt"
func main() {
a := 3
b := 7
a = a + b
fmt.Println(a + b)
another_scope()
}
func another_scope() {
a := 1
b := 12
a = a + b
fmt.Println(a + b)
}
def main():
a = 7
b = 3
c = 4.5
print(a / b)
print(a // b)
print(a / c)
print(a // c)
print(a + b)
print(a + c)
if __name__ == '__main__':
main()
package main
import (
"fmt"
"math"
)
func main() {
a := 7
b := 3
c := 4.5
fmt.Println(float64(a) / float64(b))
fmt.Println(a / b)
fmt.Println(float64(a) / c)
fmt.Println(math.Floor(float64(a) / c))
fmt.Println(a + b)
fmt.Println(float64(a) + c)
}
def main():
a = [1, 2, 3]
print(a[0])
print(a[1])
print(a[2])
a.append(4)
print(a[3])
a += [5, 6, 7]
a = a + [8, 9, 10]
print(a[4])
print(a[-1])
if __name__ == '__main__':
main()
package main
import "fmt"
func main() {
a := []int{1, 2, 3}
fmt.Println(a[0])
fmt.Println(a[1])
fmt.Println(a[2])
a = append(a, 4)
fmt.Println(a[3])
a = append(a, []int{5, 6, 7}...)
a = append(a, []int{8, 9, 10}...)
fmt.Println(a[4])
fmt.Println(a[len(a)-1])
}
def main():
a = [1, 2, 3]
for v in a:
print(v)
for i, v in enumerate(a):
print(i + v)
for i in range(5):
print(i)
for i in range(10, 15):
print(i)
for i in range(10, 15, 2):
print(i)
for j in range(15, 10, -1):
print(j)
for j in range(15, 10, -2):
print(j)
if __name__ == '__main__':
main()
package main
import "fmt"
func main() {
a := []int{1, 2, 3}
for _, v := range a {
fmt.Println(v)
}
for i, v := range a {
fmt.Println(i + v)
}
for i := 0; i < 5; i++ {
fmt.Println(i)
}
for i := 10; i < 15; i++ {
fmt.Println(i)
}
for i := 10; i < 15; i += 2 {
fmt.Println(i)
}
for j := 15; j > 10; j-- {
fmt.Println(j)
}
for j := 15; j > 10; j -= 2 {
fmt.Println(j)
}
}
def main():
a = "hello"
b = "world"
c = a + " " + b
print(c)
print(double_it(c))
print(c[1])
print(c[1:6])
def double_it(c: str) -> str:
return c + c
if __name__ == '__main__':
main()
package main
import "fmt"
func main() {
a := "hello"
b := "world"
c := a + " " + b
fmt.Println(c)
fmt.Println(double_it(c))
fmt.Println(string(c[1]))
fmt.Println(c[1:6])
}
func double_it(c string) string {
return c + c
}
def main():
a = True
b = False
print(a)
print(b)
print(a and b)
print(a or b)
print(not a)
print(not b)
print(a and not b)
print(a or not b)
if __name__ == '__main__':
main()
package main
import "fmt"
func main() {
a := true
b := false
fmt.Println(a)
fmt.Println(b)
fmt.Println(a && b)
fmt.Println(a || b)
fmt.Println(!a)
fmt.Println(!b)
fmt.Println(a && !b)
fmt.Println(a || !b)
}
import math
def main():
print(math.sin(3))
print(math.cosh(3))
print(math.pi)
print(math.acosh(6))
print(math.atan2(4, 7))
if __name__ == '__main__':
main()
package main
import (
"fmt"
"math"
)
func main() {
fmt.Println(math.Sin(3))
fmt.Println(math.Cosh(3))
fmt.Println(math.Pi)
fmt.Println(math.Acosh(6))
fmt.Println(math.Atan2(4, 7))
}
import requests
def main():
resp = requests.get("http://tour.golang.org/welcome/1")
print(resp.text)
if __name__ == '__main__':
main()
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
resp, err := http.Get("http://tour.golang.org/welcome/1")
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println(func() string {
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
panic(err)
Content type
Image
Digest
Size
160.2 MB
Last updated
about 5 years ago
docker pull mirhosting/pytago