ฟังก์ชั่น raw_input ใน Python


117

อะไรคือสิ่งที่raw_inputฟังก์ชั่น? มันเป็นส่วนต่อประสานกับผู้ใช้หรือไม่? เราใช้เมื่อไหร่?


6
ใช้input()แทน ฟังก์ชันraw_inputนี้ไม่รวมอยู่ใน python อีกต่อไป
Robino

1
โพสต์ที่เกี่ยวข้อง - ฉันจะใช้ raw_input ใน Python 3 ได้อย่างไร
RBT

คำตอบ:


142

จะแสดงพร้อมต์ให้กับผู้ใช้ (ทางเลือกargของraw_input([arg])) รับอินพุตจากผู้ใช้และส่งคืนข้อมูลที่ผู้ใช้ป้อนเป็นสตริง raw_input()ดูเอกสารสำหรับ

ตัวอย่าง:

name = raw_input("What is your name? ")
print "Hello, %s." % name

สิ่งนี้แตกต่างจากinput() ที่พยายามตีความอินพุตที่กำหนดโดยผู้ใช้ โดยทั่วไปควรหลีกเลี่ยงinput()และยึดติดกับraw_input()รหัสการแยกวิเคราะห์ / การแปลงที่กำหนดเอง

หมายเหตุ: สำหรับ Python 2.x


5
สำหรับ Python 3: name = input ("คุณชื่ออะไร") พิมพ์ ("สวัสดี% s."% name)
Trevor McCormick


4

ฟังก์ชัน "อินพุต" จะแปลงอินพุตที่คุณป้อนราวกับว่าเป็นรหัสไพ ธ อน "raw_input" ไม่แปลงอินพุตและรับอินพุตตามที่ได้รับ แนะนำให้ใช้ raw_input สำหรับทุกสิ่ง การใช้งาน:

>>a = raw_input()
>>5
>>a
>>'5'

4

raw_input เป็นรูปแบบของอินพุตที่รับอาร์กิวเมนต์ในรูปแบบของสตริงในขณะที่ฟังก์ชันอินพุตรับค่าขึ้นอยู่กับอินพุตของคุณ สมมติว่า a = input (5) ส่งคืน a เป็นจำนวนเต็มด้วยค่า 5 ในขณะที่ a = raw_input (5) ส่งกลับ a เป็นสตริงของ "5"


1

อีกวิธีหนึ่งตัวอย่างในการผสมพรอมต์โดยใช้การพิมพ์หากคุณต้องการทำให้โค้ดของคุณง่ายขึ้น

รูปแบบ:-

x = raw_input () - สิ่งนี้จะส่งคืนอินพุตของผู้ใช้เป็นสตริง

x = int (raw_input ()) - รับหมายเลขอินพุตเป็นสตริงจาก raw_input () จากนั้นแปลงเป็นจำนวนเต็มโดยใช้ int ()

print '\nWhat\'s your name ?', 
name = raw_input('--> ')
print '\nHow old are you, %s?' % name,
age = int(raw_input())
print '\nHow tall are you (in cms), %s?' % name,
height = int(raw_input())
print '\nHow much do you weigh (in kgs), %s?' % name,
weight = int(raw_input())

print '\nSo, %s is %d years old, %d cms tall and weighs %d kgs.\n' %(
name, age, height, weight)

-1

ถ้าฉันปล่อยให้ raw_input เป็นแบบนั้นไม่ต้อง Josh หรือสิ่งอื่นใด ฉันคิดว่ามันเป็นตัวแปร แต่ฉันไม่เข้าใจม้วนของเธอ :-(

ฟังก์ชัน raw_input จะแจ้งให้คุณป้อนข้อมูลและส่งคืนเป็นสตริง สิ่งนี้ใช้ได้ผลกับฉันอย่างแน่นอน คุณไม่จำเป็นต้องว่าง เพียงแค่เปิด "DOS prompt" และเรียกใช้โปรแกรม

นี่คือสิ่งที่ดูเหมือนสำหรับฉัน:

C:\temp>type test.py
print "Halt!"
s = raw_input("Who Goes there? ")
print "You may pass,", s

C:\temp>python test.py
Halt!
Who Goes there? Magnus
You may pass, Magnus

ฉันพิมพ์ชื่อของฉันและกด[Enter] หลังจากที่โปรแกรมพิมพ์ "ใครไปที่นั่น?"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.