[英]I'm getting a SyntaxError: (unicode error) 'unicodeescape' codec
Hi I'm making a simple code that is due soon.嗨,我正在制作一个即将到期的简单代码。 I'm using Wing IDE 4.1.3-1 and I keep getting this message when I run my program code
我正在使用 Wing IDE 4.1.3-1,并且在运行程序代码时不断收到此消息
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-4: truncated \\UXXXXXXXX escape (, line 4) SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-4: truncated \\UXXXXXXXXX escape (, line 4)
Here is my program:这是我的程序:
#=====================================================================
# Program: Calculating Sales
# Programmer: Viet-Anh Tran
# Date: 2-14-2012
# July 1, 2011 - Revised for Python 3
# Abstract: This program processes highest sales, lowest sales,
# and averages the total numnber of sales. Each
# salesperson will be asked enter the amount they sold
# and the price of each sale.
#=====================================================================
def main():
#create variable to control loop
keep_going = 'y'
#process each salperson's sales
while keep_going == 'y' or keep_going == 'Y':
#use a function to process sales
show_sales()
keep_going = input("would you like to calculate another salesperson's" +
"sales? (enter y or Y as yes to continue) ")
#define show_sales
def show_sales():
#ask for name of salesperson
name = input("What is the salesperson's name? ")
#ask for first sales amount
print('Enter', name, "'s first sale amount: ")
first_sale = float(input())
#when assigning a value for first sale make sure its bewtween 1-25000
while first_sale < 1 or first_sale > 25000:
#prompt error message if it does not meet within range
print('ERROR: First sale amount must fall in the range of $1-$25,000.')
#ask user again for CORRECT amount
print('Please enter', name, "'s correct first sale amount:")
first_sale = float(input())
#assign all total highest and lowest sales to first sale
total_sale = first_sale
highest_sale = first_sale
lowest_sale = first_sale
#ask for the total number of sales
print('Are there any more sales? If so, type in the total number of sales:')
number_sales = int(input())
#create a loop
for sale in range(2, number_sales + 1):
print('What is', name, "'s next sales amount?")
sales_amount = float(input())
#again make sure that it is within range and ask the correct amount again
while sales_amount < 1 or first_sale > 25000:
print('ERROR: Sale amount must fall in the range of $1-$25,000.')
print('Please enter', name, "'s correct sale amount:")
sales_amount = float(input())
#accumulate the total sales
total_sales += sales_amount
#this assigns the lowest and highest value to the correct variable
if sales_amount > highest_sale:
highest_sale = sales_amount
if sales_amount < lowest_sale:
lowest_sale = sales_amount
#calculate average and print highest, lowest, and average
average_sales = total_sales / number_sales
print(name, "'s highest sale: $", format(highest_sale, ',.2f'), sep='')
print(name, "'s lowest sale: $", format(lowest_sale, ',.2f'), sep='')
print(name, "'s sale on average: $", format(average_sale, ',.2f'), sep='')
File "<string>"
shows that your program is being run through exec
, most likely passed there with a byte string. File "<string>"
显示您的程序正在通过exec
运行,很可能是通过一个字节字符串传递到那里的。 So that's probably an oversight in the IDE.所以这可能是 IDE 中的疏忽。
The cause of error may be special characters somewhere in your name.错误的原因可能是您名字中的特殊字符。 Python 3 should handle that anyway, but Wing IDE seems to try and make code the compatible with Python 2... and fails.
无论如何,Python 3 应该可以处理这个问题,但 Wing IDE 似乎试图使代码与 Python 2 兼容......但失败了。
Of course, this is mostly speculation, but you should consider running your script in command line, without any IDE.当然,这主要是推测,但您应该考虑在没有任何 IDE 的情况下在命令行中运行脚本。 I did, and it worked.
我做到了,而且奏效了。
这是 Wing 4.1.3 中的一个错误,可以通过使用“帮助”菜单中的“检查更新”来修复。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.