Tôi chỉ đơn giản là phải thực hiện một tổng số ba số và tính toán trung bình
import sys
sums=0.0
k=3
for w in range[k]:
sums = sums + input["Pleas input number " + str[w+1] + " "]
print["the media is " + str[sums/k] + " and the Sum is " + str[sums]]
Và lỗi:
Pleas input number 1 1
Traceback [most recent call last]:
File "/home/user/Python/sec001.py", line 5, in
sums = sums + input["Pleas input number " + str[w+1] + " "];
TypeError: unsupported operand type[s] for +: 'float' and 'str'
Đã hỏi ngày 3 tháng 11 năm 2016 lúc 14:27Nov 3, 2016 at 14:27
UserDepthuserDepthuserDepth
1731 Huy hiệu vàng1 Huy hiệu bạc8 Huy hiệu đồng1 gold badge1 silver badge8 bronze badges
3
Tại sao không làm phiên bản đơn giản sau đó tối ưu hóa nó?
def sum_list[l]:
sum = 0
for x in l:
sum += x
return sum
l = list[map[int, input["Enter numbers separated by spaces: "].split[]]]
sum_list[l]
Vấn đề của bạn là bạn đã không sử dụng đầu vào của mình từ 'str' đến 'int'. Hãy nhớ rằng, Python tự động khởi tạo các loại dữ liệu. Do đó, đúc rõ ràng là bắt buộc. Hãy sửa cho tôi nếu tôi sai, nhưng đó là cách tôi nhìn thấy nó.
Hy vọng tôi đã giúp :]
Đã trả lời ngày 3 tháng 11 năm 2016 lúc 14:44Nov 3, 2016 at 14:44
7
Hàm
Pleas input number 1 1
Traceback [most recent call last]:
File "/home/user/Python/sec001.py", line 5, in
sums = sums + input["Pleas input number " + str[w+1] + " "];
TypeError: unsupported operand type[s] for +: 'float' and 'str'
9 trả về một chuỗi [str] và python không tự động chuyển đổi nó thành float/integer. Tất cả những gì bạn cần làm là chuyển đổi nó.import sys;
sums=0.0;
k=3;
for w in range[k]:
sums = sums + float[input["Pleas input number " + str[w+1] + " "]];
print["the media is " + str[sums/k] + " and the Sum is " + str[sums]];
Nếu bạn muốn làm cho nó thậm chí tốt hơn, bạn có thể sử dụng thử/ngoại trừ để đối phó với các đầu vào không hợp lệ. Ngoài ra,
def sum_list[l]:
sum = 0
for x in l:
sum += x
return sum
l = list[map[int, input["Enter numbers separated by spaces: "].split[]]]
sum_list[l]
0 là không cần thiết và bạn nên tránh sử dụng dấu chấm phẩy.sums=0.0
k=3
for w in range[k]:
try:
sums = sums + float[input["Pleas input number " + str[w+1] + " "]]
except ValueError:
print["Invalid Input"]
print["the media is " + str[sums/k] + " and the Sum is " + str[sums]]
Đã trả lời ngày 3 tháng 11 năm 2016 lúc 14:51Nov 3, 2016 at 14:51
BernardogobernardogoBernardoGO
1.8061 Huy hiệu vàng19 Huy hiệu bạc35 Huy hiệu Đồng1 gold badge19 silver badges35 bronze badges
def sum_list[l]:
sum = 0
for x in l:
sum += x
return sum
l = list[map[int, input["Enter numbers separated by spaces: "].split[]]]
sum_list[l]
1 Trả về một chuỗi và bạn cần tạo một def sum_list[l]:
sum = 0
for x in l:
sum += x
return sum
l = list[map[int, input["Enter numbers separated by spaces: "].split[]]]
sum_list[l]
2 hoặc def sum_list[l]:
sum = 0
for x in l:
sum += x
return sum
l = list[map[int, input["Enter numbers separated by spaces: "].split[]]]
sum_list[l]
3 từ đó. Bạn cũng phải đối phó với thực tế là người dùng không thể làm theo các hướng dẫn đơn giản. Cuối cùng, bạn cần phải loại bỏ những dấu chấm phẩy đó - chúng rất nguy hiểm và tạo ra một môi trường làm việc thù địch [ít nhất là khi bạn va vào các lập trình viên Python khác ...!]import sys
sums=0.0
k=3
for w in range[k]:
while True:
try:
sums += float[input["Pleas input number " + str[w+1] + " "]]
break
except ValueError:
print["That was not a number"]
print["the media is " + str[sums/k] + " and the Sum is " + str[sums]]
Đã trả lời ngày 3 tháng 11 năm 2016 lúc 14:44Nov 3, 2016 at 14:44
Hàm
Pleas input number 1 1
Traceback [most recent call last]:
File "/home/user/Python/sec001.py", line 5, in
sums = sums + input["Pleas input number " + str[w+1] + " "];
TypeError: unsupported operand type[s] for +: 'float' and 'str'
9 trả về một chuỗi [str] và python không tự động chuyển đổi nó thành float/integer. Tất cả những gì bạn cần làm là chuyển đổi nó.tdelaneyNếu bạn muốn làm cho nó thậm chí tốt hơn, bạn có thể sử dụng thử/ngoại trừ để đối phó với các đầu vào không hợp lệ. Ngoài ra,
0 là không cần thiết và bạn nên tránh sử dụng dấu chấm phẩy.5 gold badges74 silver badges106 bronze badgesdef sum_list[l]:
sum = 0
for x in l:
sum += x
return sum
l = list[map[int, input["Enter numbers separated by spaces: "].split[]]]
sum_list[l]
Là một lập trình viên, nhiều chương trình mà bạn sẽ viết sẽ giải quyết vấn đề của người dùng cuối. Bạn sẽ luôn muốn nhận một số dữ liệu từ người dùng. Bài viết này sẽ giải thích cách xử lý đầu vào của người dùng và cách sử dụng trong khi các vòng lặp.
Điều kiện tiên quyết
- Python được cài đặt trên máy tính của bạn.
- Kiến thức Python cơ bản.
Mục tiêu
Trong bài viết này, chúng tôi sẽ trải qua:
- Hàm
9 hoạt động như thế nàoPleas input number 1 1 Traceback [most recent call last]: File "/home/user/Python/sec001.py", line 5, in sums = sums + input["Pleas input number " + str[w+1] + " "]; TypeError: unsupported operand type[s] for +: 'float' and 'str'
- Sử dụng
5 để chấp nhận đầu vào sốdef sum_list[l]: sum = 0 for x in l: sum += x return sum l = list[map[int, input["Enter numbers separated by spaces: "].split[]]] sum_list[l]
- Giới thiệu về
6 vòng lặpdef sum_list[l]: sum = 0 for x in l: sum += x return sum l = list[map[int, input["Enter numbers separated by spaces: "].split[]]] sum_list[l]
- Sử dụng vòng lặp
6 với câu lệnhdef sum_list[l]: sum = 0 for x in l: sum += x return sum l = list[map[int, input["Enter numbers separated by spaces: "].split[]]] sum_list[l]
8def sum_list[l]: sum = 0 for x in l: sum += x return sum l = list[map[int, input["Enter numbers separated by spaces: "].split[]]] sum_list[l]
- Thoát khỏi vòng
6 bằng cách sử dụng Breakdef sum_list[l]: sum = 0 for x in l: sum += x return sum l = list[map[int, input["Enter numbers separated by spaces: "].split[]]] sum_list[l]
- Xóa tất cả các trường hợp của các giá trị cụ thể khỏi danh sách bằng cách sử dụng vòng lặp
6def sum_list[l]: sum = 0 for x in l: sum += x return sum l = list[map[int, input["Enter numbers separated by spaces: "].split[]]] sum_list[l]
- Đổ đầy từ điển với đầu vào của người dùng bằng cách sử dụng vòng lặp
6def sum_list[l]: sum = 0 for x in l: sum += x return sum l = list[map[int, input["Enter numbers separated by spaces: "].split[]]] sum_list[l]
Hoạt động của hàm input [] hoạt động
Hàm
Pleas input number 1 1
Traceback [most recent call last]:
File "/home/user/Python/sec001.py", line 5, in
sums = sums + input["Pleas input number " + str[w+1] + " "];
TypeError: unsupported operand type[s] for +: 'float' and 'str'
9 tạm dừng việc thực hiện chương trình và chờ người dùng chính trong một số dữ liệu. Khi Python nhận được đầu vào của người dùng, nó sẽ lưu trữ đầu vào trong biến mà bạn chọn làm việc.Ví dụ: hãy để Lừa tạo một chương trình chấp nhận tên người dùng và in lại tên.
name = input["Please enter your name: "]
print[name]
#output
#Please enter your name: John
#John
Hàm
Pleas input number 1 1
Traceback [most recent call last]:
File "/home/user/Python/sec001.py", line 5, in
sums = sums + input["Pleas input number " + str[w+1] + " "];
TypeError: unsupported operand type[s] for +: 'float' and 'str'
9 có trong một đối số, nghĩa là hướng dẫn bạn muốn người dùng xem. Trong ví dụ này, Python thực hiện dòng đầu tiên và yêu cầu người dùng nhập tên của mình. Việc thực hiện chương trình sẽ dừng lại và chờ người dùng nhập tên của mình và tiếp tục sau khi nhấn phím import sys;
sums=0.0;
k=3;
for w in range[k]:
sums = sums + float[input["Pleas input number " + str[w+1] + " "]];
print["the media is " + str[sums/k] + " and the Sum is " + str[sums]];
4 trên bàn phím. Tên của người dùng sau đó được tải trong biến import sys;
sums=0.0;
k=3;
for w in range[k]:
sums = sums + float[input["Pleas input number " + str[w+1] + " "]];
print["the media is " + str[sums/k] + " and the Sum is " + str[sums]];
5, sau đó import sys;
sums=0.0;
k=3;
for w in range[k]:
sums = sums + float[input["Pleas input number " + str[w+1] + " "]];
print["the media is " + str[sums/k] + " and the Sum is " + str[sums]];
6 hiển thị lại tên người dùng.Sử dụng int [] để chấp nhận đầu vào số
Bất kỳ văn bản nào mà người dùng đầu vào sử dụng hàm
Pleas input number 1 1
Traceback [most recent call last]:
File "/home/user/Python/sec001.py", line 5, in
sums = sums + input["Pleas input number " + str[w+1] + " "];
TypeError: unsupported operand type[s] for +: 'float' and 'str'
9, được hiểu là một chuỗi. Nếu bạn chỉ cần in ra đầu vào thì sử dụng hàm Pleas input number 1 1
Traceback [most recent call last]:
File "/home/user/Python/sec001.py", line 5, in
sums = sums + input["Pleas input number " + str[w+1] + " "];
TypeError: unsupported operand type[s] for +: 'float' and 'str'
9 là đủ. Sử dụng đầu vào trực tiếp làm giá trị số ném một ngoại lệ. Xem xét ví dụ dưới đây:amount = input["Please enter your amount? "]
rate=0.056
interest= amount*rate
print["Your interest is : "]
print[interest]
Ví dụ trên đưa ra một lỗi vì Python diễn giải đầu vào
import sys;
sums=0.0;
k=3;
for w in range[k]:
sums = sums + float[input["Pleas input number " + str[w+1] + " "]];
print["the media is " + str[sums/k] + " and the Sum is " + str[sums]];
9 dưới dạng chuỗi. Python có thể nhân lên một chuỗi và float.Để giải quyết vấn đề trên, chúng tôi sử dụng hàm
def sum_list[l]:
sum = 0
for x in l:
sum += x
return sum
l = list[map[int, input["Enter numbers separated by spaces: "].split[]]]
sum_list[l]
5 để thông báo cho Python để sử dụng đầu vào làm giá trị số. Hàm def sum_list[l]:
sum = 0
for x in l:
sum += x
return sum
l = list[map[int, input["Enter numbers separated by spaces: "].split[]]]
sum_list[l]
5 chuyển đổi chuỗi thành số nguyên, được hiển thị bên dưới:amount = input["Please enter your amount? "]
amount=int[amount]
rate=0.056
interest= amount*rate
print["Your interest is : "]
print[ interest]
Output:
Please enter your amount? 9000
Your interest is :
504.0
Khi chúng ta nhập 9000 vào ví dụ trên, Python diễn giải nó dưới dạng chuỗi. Số tiền sau đó được chuyển đổi thành một số nguyên bằng hàm
def sum_list[l]:
sum = 0
for x in l:
sum += x
return sum
l = list[map[int, input["Enter numbers separated by spaces: "].split[]]]
sum_list[l]
5. Bây giờ Python tính toán giá trị của tiền lãi.Giới thiệu trong khi các vòng lặp
Trong Python, vòng lặp
def sum_list[l]:
sum = 0
for x in l:
sum += x
return sum
l = list[map[int, input["Enter numbers separated by spaces: "].split[]]]
sum_list[l]
6 thực hiện một khối mã nhất định với điều kiện là điều kiện nhất định vẫn đúng.Syntax:
Pleas input number 1 1
Traceback [most recent call last]:
File "/home/user/Python/sec001.py", line 5, in
sums = sums + input["Pleas input number " + str[w+1] + " "];
TypeError: unsupported operand type[s] for +: 'float' and 'str'
0Vòng lặp
def sum_list[l]:
sum = 0
for x in l:
sum += x
return sum
l = list[map[int, input["Enter numbers separated by spaces: "].split[]]]
sum_list[l]
6 sau đây tính từ 10 đến 15:Pleas input number 1 1
Traceback [most recent call last]:
File "/home/user/Python/sec001.py", line 5, in
sums = sums + input["Pleas input number " + str[w+1] + " "];
TypeError: unsupported operand type[s] for +: 'float' and 'str'
1Vòng
def sum_list[l]:
sum = 0
for x in l:
sum += x
return sum
l = list[map[int, input["Enter numbers separated by spaces: "].split[]]]
sum_list[l]
6 tiếp tục thực thi nếu giá trị của sums=0.0
k=3
for w in range[k]:
try:
sums = sums + float[input["Pleas input number " + str[w+1] + " "]]
except ValueError:
print["Invalid Input"]
print["the media is " + str[sums/k] + " and the Sum is " + str[sums]]
6 bằng hoặc nhỏ hơn 15.Sử dụng câu lệnh khác với vòng lặp trong khi
Khi bạn sử dụng câu lệnh
def sum_list[l]:
sum = 0
for x in l:
sum += x
return sum
l = list[map[int, input["Enter numbers separated by spaces: "].split[]]]
sum_list[l]
8 trong một vòng lặp, nó sẽ chỉ thực thi khi điều kiện trở nên sai.Ví dụ dưới đây liên quan đến cả tuyên bố
def sum_list[l]:
sum = 0
for x in l:
sum += x
return sum
l = list[map[int, input["Enter numbers separated by spaces: "].split[]]]
sum_list[l]
8 và câu lệnh def sum_list[l]:
sum = 0
for x in l:
sum += x
return sum
l = list[map[int, input["Enter numbers separated by spaces: "].split[]]]
sum_list[l]
6.Pleas input number 1 1
Traceback [most recent call last]:
File "/home/user/Python/sec001.py", line 5, in
sums = sums + input["Pleas input number " + str[w+1] + " "];
TypeError: unsupported operand type[s] for +: 'float' and 'str'
2Chương trình trên in một số ít hơn hoặc bằng 15, nếu không thì khối
def sum_list[l]:
sum = 0
for x in l:
sum += x
return sum
l = list[map[int, input["Enter numbers separated by spaces: "].split[]]]
sum_list[l]
8 thực thi.Results:
Pleas input number 1 1
Traceback [most recent call last]:
File "/home/user/Python/sec001.py", line 5, in
sums = sums + input["Pleas input number " + str[w+1] + " "];
TypeError: unsupported operand type[s] for +: 'float' and 'str'
3Sử dụng Break để thoát một vòng lặp
Sử dụng câu lệnh
import sys
sums=0.0
k=3
for w in range[k]:
while True:
try:
sums += float[input["Pleas input number " + str[w+1] + " "]]
break
except ValueError:
print["That was not a number"]
print["the media is " + str[sums/k] + " and the Sum is " + str[sums]]
1 để thoát vòng lặp def sum_list[l]:
sum = 0
for x in l:
sum += x
return sum
l = list[map[int, input["Enter numbers separated by spaces: "].split[]]]
sum_list[l]
6 mà không thực thi bất kỳ mã còn lại nào trong vòng lặp. Với câu lệnh import sys
sums=0.0
k=3
for w in range[k]:
while True:
try:
sums += float[input["Pleas input number " + str[w+1] + " "]]
break
except ValueError:
print["That was not a number"]
print["the media is " + str[sums/k] + " and the Sum is " + str[sums]]
1, bạn có thể kiểm soát dòng nào trong chương trình của bạn sẽ thực thi hay không.Syntax:
Pleas input number 1 1
Traceback [most recent call last]:
File "/home/user/Python/sec001.py", line 5, in
sums = sums + input["Pleas input number " + str[w+1] + " "];
TypeError: unsupported operand type[s] for +: 'float' and 'str'
4Example:
Pleas input number 1 1
Traceback [most recent call last]:
File "/home/user/Python/sec001.py", line 5, in
sums = sums + input["Pleas input number " + str[w+1] + " "];
TypeError: unsupported operand type[s] for +: 'float' and 'str'
5Xóa tất cả các trường hợp của các giá trị cụ thể khỏi danh sách bằng cách sử dụng vòng lặp trong thời gian
Phương thức
import sys
sums=0.0
k=3
for w in range[k]:
while True:
try:
sums += float[input["Pleas input number " + str[w+1] + " "]]
break
except ValueError:
print["That was not a number"]
print["the media is " + str[sums/k] + " and the Sum is " + str[sums]]
4 chỉ loại bỏ một giá trị duy nhất khỏi danh sách. Chúng tôi xóa tất cả các trường hợp có giá trị khỏi danh sách bằng cách sử dụng vòng lặp def sum_list[l]:
sum = 0
for x in l:
sum += x
return sum
l = list[map[int, input["Enter numbers separated by spaces: "].split[]]]
sum_list[l]
6.Giả sử chúng tôi có một danh sách nhân viên và tên
import sys
sums=0.0
k=3
for w in range[k]:
while True:
try:
sums += float[input["Pleas input number " + str[w+1] + " "]]
break
except ValueError:
print["That was not a number"]
print["the media is " + str[sums/k] + " and the Sum is " + str[sums]]
6 xuất hiện nhiều hơn một lần. Chúng ta có thể xóa tất cả các trường hợp của tên import sys
sums=0.0
k=3
for w in range[k]:
while True:
try:
sums += float[input["Pleas input number " + str[w+1] + " "]]
break
except ValueError:
print["That was not a number"]
print["the media is " + str[sums/k] + " and the Sum is " + str[sums]]
6 bằng cách sử dụng vòng lặp def sum_list[l]:
sum = 0
for x in l:
sum += x
return sum
l = list[map[int, input["Enter numbers separated by spaces: "].split[]]]
sum_list[l]
6. Vòng lặp def sum_list[l]:
sum = 0
for x in l:
sum += x
return sum
l = list[map[int, input["Enter numbers separated by spaces: "].split[]]]
sum_list[l]
6 thực thi cho đến khi import sys
sums=0.0
k=3
for w in range[k]:
while True:
try:
sums += float[input["Pleas input number " + str[w+1] + " "]]
break
except ValueError:
print["That was not a number"]
print["the media is " + str[sums/k] + " and the Sum is " + str[sums]]
6 không còn trong danh sách như được minh họa dưới đây:Pleas input number 1 1
Traceback [most recent call last]:
File "/home/user/Python/sec001.py", line 5, in
sums = sums + input["Pleas input number " + str[w+1] + " "];
TypeError: unsupported operand type[s] for +: 'float' and 'str'
6Điền vào từ điển với đầu vào của người dùng bằng cách sử dụng vòng lặp trong thời gian
Chúng tôi sử dụng vòng lặp
def sum_list[l]:
sum = 0
for x in l:
sum += x
return sum
l = list[map[int, input["Enter numbers separated by spaces: "].split[]]]
sum_list[l]
6 để nhắc người dùng nhập nhiều đầu vào như chúng tôi cần. Hãy để tạo ra một chương trình chấp nhận tên người dùng và tên của ngọn núi mà mỗi người dùng thích leo lên. Vì chúng tôi muốn kết nối từng phản hồi với một người dùng cụ thể, chúng tôi sẽ lưu trữ dữ liệu trong một từ điển.Pleas input number 1 1
Traceback [most recent call last]:
File "/home/user/Python/sec001.py", line 5, in
sums = sums + input["Pleas input number " + str[w+1] + " "];
TypeError: unsupported operand type[s] for +: 'float' and 'str'
7Khi bạn thực hiện chương trình này và nhập một số phản hồi, đầu ra sẽ trông như thế này:
Pleas input number 1 1
Traceback [most recent call last]:
File "/home/user/Python/sec001.py", line 5, in
sums = sums + input["Pleas input number " + str[w+1] + " "];
TypeError: unsupported operand type[s] for +: 'float' and 'str'
8Sự kết luận
Bây giờ bạn đã học được cách sử dụng chức năng
Pleas input number 1 1
Traceback [most recent call last]:
File "/home/user/Python/sec001.py", line 5, in
sums = sums + input["Pleas input number " + str[w+1] + " "];
TypeError: unsupported operand type[s] for +: 'float' and 'str'
9 và các vòng def sum_list[l]:
sum = 0
for x in l:
sum += x
return sum
l = list[map[int, input["Enter numbers separated by spaces: "].split[]]]
sum_list[l]
6, hãy thử thực hiện chúng trong các chương trình Python của bạn.Mã hóa hạnh phúc!
Đóng góp đánh giá ngang hàng của: Odhiambo Paul