iT邦幫忙

2024 iThome 鐵人賽

DAY 6
0
Python

Python和R入門語法比較系列 第 6

(輸入/輸出) Python的print, input, type和變數 和 R的語法

  • 分享至 

  • xImage
  •  

Python

print("XXX")

顯示:
你好

print("你好")
    你好

顯示:
你好,我也好

print("你好,我也好")
    你好,我也好

顯示:
你好, 我也好

print("你好, 我也好")
    你好, 我也好

顯示:
你好 我也好

print("你好 我也好")
    你好 我也好

顯示:
你好你好你好你好你好

print("你好你好你好你好你好")
你好你好你好你好你好
print("你好"*5)
    你好你好你好你好你好

R

#你好
print("你好")
#你好, 我也好
print("你好, 我也好")
#你好,我也好
print("你好,我也好")
#你好 我也好
print("你好 我也好")
#你好你好你好你好你好
print("你好你好你好你好你好")
print("你好"*5)
print(strrep("你好",5))
print(paste(rep("你好",5), collapse = ''))
# cat(rep("你好", 5), sep='')

python

顯示:
你好
你好
你好

print("你好")
print("你好")
print("你好")
    你好
    你好
    你好
print("你好\n你好\n你好")
    你好
    你好
    你好
print("你好\n"*3)
    你好
    你好
    你好
print("你好\n你好\n你好")
    你好
    你好
    你好
print("你好\n"*2,"你好")
    你好
    你好
     你好
print("你好\n"*2, "你好", sep='')
    你好
    你好
    你好

R

跟python幾乎一樣。

Python

顯示:
你的年紀是20歲

print("你的年紀是20歲")
你的年紀是20歲

顯示:
你的年紀是45歲

print("你的年紀是45歲")
    你的年紀是45歲

顯示:
你的年紀是13歲

print("你的年紀是", 13, "歲")
    你的年紀是 13 歲
# x = 13
x = 13
print("你的年紀是", x, "歲")
    你的年紀是 13 歲
x = 13
print("你的年紀是", x, "歲", sep='')
    你的年紀是13歲

R

#你的年紀是20歲
print("你的年紀是20歲")
#你的年紀是45歲
print("你的年紀是45歲")
#你的年紀是13歲
print("你的年紀是", 13, "歲")
print(c("你的年紀是", 13, "歲"))
print(paste(c("你的年紀是", 13, "歲"), collapse=''))
# x = 13
x <- 13
x = 13
print(paste(c("你的年紀是", x, "歲"), collapse=''))

Python

x = input("請輸入你的年紀: ")

# x = input("請輸入你的年紀: ")
x = input("請輸入你的年紀: ")
    請輸入你的年紀: 13
print(x)
    13

顯示:
你的年紀是13歲

print("你的年紀是", x, "歲")
    你的年紀是 13 歲

顯示:
你的年紀是 歲

顯示:
2年後,你的年紀是15歲

print("2年後,你的年紀是15歲")
    2年後,你的年紀是15歲
print("2年後,你的年紀是", x+2, "歲")
    ---------------------------------------------------------------------------

    TypeError                                 Traceback (most recent call last)

    <ipython-input-33-ef47e6023104> in <module>
    ----> 1 print("2年後,你的年紀是", x+2, "歲")
    

    TypeError: can only concatenate str (not "int") to str

上面這個例子,python會出錯,R不會。Python必須先將變數進行轉換。

R

#cat('請輸入你的年紀: ')
#x <- scan()

cat('請輸入你的年紀: ')
x <- scan()
#請輸入你的年紀: 
# > x <- scan()
#1: 13
#2: 
#  Read 1 item
cat("你的年紀是", x, "歲", sep='')

#2年後,你的年紀是x+2歲
cat("你的年紀是", x+2, "歲", sep='')
# y = cat(c("你的年紀是", x+2, "歲"),collapse='')
# print(y)

Python

type(資料)

x
    '13'

13

    13

R

class(x)
class(13)
class('13')

Python

string (str) 字串 (R稱作 character)

文字、符號

type('13')
    str
'13'+'13'
    '1313'

integer (int) 整數 (R稱作 integer)

0 1 2 3

type(13)
    int
x
    '13'
13
    13
13+13
    26

Python

轉換

int(資料) :將資料變成整數 (R稱作 as.integer)

int('13')
    13
type(int('13'))
    int

str(資料):將資料變成字串 (R稱作 as.character)

str(13)
    '13'
type(str(13))
    str
x = input("請輸入你的年紀: ")
    請輸入你的年紀: 13
type(x)
    str
x = int(input("請輸入你的年紀:  "))
    請輸入你的年紀:  13
type(13)
    int

R

a = as.numeric('13')
class(a)

b = as.character(13)
class(b)

cat('請輸入你的年紀: ')
c = scan()
class(c)
#[1] "numeric"

d = scan(what = character())
class(d)

# !!--你有發現嗎?在R自動把numeric轉成character了--!!
cat("你的年紀是", 13, "歲")
print(c("你的年紀是", 13, "歲"))

Python

顯示:
2年後, 你的年紀是15歲

print("2年後, 你的年紀是15歲")
    2年後, 你的年紀是15歲
print("2年後, 你的年紀是" ,15, "歲")
    2年後, 你的年紀是 15 歲
print("2年後, 你的年紀是", x+2, "歲")
    2年後, 你的年紀是 15 歲
print("2年後, 你的年紀是", x+2, "歲", sep='')
    2年後, 你的年紀是15歲

Python

變數

單一個變數

x = 1
print(x)

x = 1
print(x)
    1

多個變數

x = 1
y = 2

print(x)
print(y)
x = 1
y = 2
print(x)
print(y)
    1
    2
x, y = 1, 2

print(x)
print(y)
    1
    2
x, y = 1, 2

print('x=',x)
print('y=',y)
    x= 1
    y= 2

Python

x = x+1

x = 1
y = 2
x = 3
print(x)
    3
x = 1
x = x+1

print(x)
x = 1
x = x+1
print(x)
    2
x = 1

x+=1
print(x)
    2

R

#單一個變數
x <- 1
print(x)
#多個變數
x <- 1
y = 2
print(x)
print(y)

x = x+1
# R 沒有 x+=1

內容預告:

01 Python的write( ) #寫檔

02 encoding 編碼 是什麼

02 Python的read... #讀檔

03 more about csv in Python and R

04 Python: pandas Series 數值資料 v R: 數值向量

05 Python: Pandas Series 字串資料 v. R:文字向量


上一篇
00[如何使用R] Asus、Acer、Dell電腦適用 - 安裝R、Rstudio
下一篇
01 Python的write( ) #寫檔 和R語法
系列文
Python和R入門語法比較30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言