我有以下Python培训代码:
import sys
# Declare second integer, double, and String variables.
i=12
d=4.0
s="HackerRank"
# Read and save an integer, double, and String to your variables.
x=input("enter integer x:")
y=input("enter double y:")
z=input("enter string z:")
# Print the sum of both integer variables on a new line.
print(i+x)
# Print the sum of the double variables on a new line.
print(y+d)
# Concatenate and print the String variables on a new line
print(s+z)
# The 's' variable above should be printed first.
我想要实现的目标如下:
在新行上打印 i 的总和加上你的int变量。打印总和 将 d 加上你的双变量加到a上的一个小数位 新队。将 s 与您读取的字符串连接并打印 结果在新的一行。
当我运行我的代码时,我收到了这个错误:
回溯(最近一次呼叫最后):文件" C:... \ lesson2.py",行 12,在 print(i + x)TypeError:+:' int'不支持的操作数类型和' str'
你能帮帮忙吗?
修改 我读了所有的评论。添加两个double类型时出错。我试过双重铸造,但它不起作用:
import sys
# Declare second integer, double, and String variables.
i=12
d=4.0
s="HackerRank"
# Read and save an integer, double, and String to your variables.
x=input("enter integer x:")
y=input("enter double y:")
z=input("enter string z:")
# Print the sum of both integer variables on a new line.
print(i+int(x))
# Print the sum of the double variables on a new line.
print(y+double(d))
# Concatenate and print the String variables on a new line
print(s+z)
# The 's' variable above should be printed first.
错误是:
回溯(最近一次呼叫最后):文件" C:... \ lesson2.py",行 14,在 print(y + double(d))NameError:name' double'未定义
答案 0 :(得分:4)
首先,您应该了解python中的类型转换。
当您撰写x=input("enter integer x:")
时,它会以string
格式输入。
所以
print(i+x)
表示,添加存储在i
中的整数值和存储在x
中的字符串值。 python中不支持此操作。
所以你应该使用以下任何一种
x = int(input("enter integer x:"))
或
print(i + int(x))
答案 1 :(得分:1)
# Read and save an integer, double, and String to your variables.
x=int(input("enter integer x:"))
y=float(input("enter double y:"))
z=str(input("enter string z:"))
# Print the sum of both integer variables on a new line.
print(i+int(x))
# Print the sum of the double variables on a new line.
print(y+(d*2))
# Concatenate and print the String variables on a new line
print(str(s)+": " + str(z))
# The 's' variable above should be printed first.
这就是我喜欢做作业的方式。
答案 2 :(得分:0)
input(...)
在python 2.x中为python 3.x提供了一个字符串,行为不同。如果要读取int,则必须使用int(input(...))
显式转换它。
答案 3 :(得分:0)
我对python 3的解决方案是:
numero1 =int(0)
numero2 =float(0.0)
texto = ""
# Read and save an integer, double, and String to your variables.
numero1 = int(input())
numero2 = float(input())
texto = input()
# Print the sum of both integer variables on a new line.
c_int_sum = int(numero1+i)
print (c_int_sum)
# Print the sum of the double variables on a new line.
c_float_sum = float(numero2+d)
Rnf = round(c_float_sum,1);
print (Rnf)
# Concatenate and print the String variables on a new line
print (s+texto)