如何在python中将两个变量读取为整数和char在一行中

时间:2017-04-11 04:29:08

标签: python-3.x

如何在python 3.5中输入多个变量,如整数然后是char然后再输入整数?当我尝试如下所示(python代码)时,它给我一个错误,如

  

回溯(最近一次调用最后一次):文件" F:/ Programming / 424 - 整数Inquiry.py",第3行,在x = int(input())ValueError:无效   对于具有基数10的int()的文字:' 300 + 3'

喜欢在c:

#include<stdio.h>
int main()
{
     int a,b;
     char ch;
     scanf("%d %c %d", &a,&ch,&d);
     return 0;
}

我在python中尝试过:

x = int(input())
ch = chr(input())
y = int(input())

但是,它不起作用。 我可以用C,C ++或Java做到这一点,但我怎么能在Python 3.5中做到这一点?

2 个答案:

答案 0 :(得分:0)

Python没有char类型,只有字符串。

# These are both the same
s1 = "Hello"
s2 = 'Hello'

# So are these
s3 = "a"
s4 = 'a'

chr实际上是一个内置函数,如int,它将整数转换为等效的ascii。

>>> chr(65)
'A'

此外,您收到的错误是由于您尝试将"300 + 3"转换为int函数无法评估的整数。

您要查看的是使用str.split方法分割您的输入。

inp = input("Enter words: ")
values = inp.split()
print(values) # print list of words from input
print(values[0]) # print first word

# Output
Enter words: Hello World! How are you?
['Hello', 'World!', 'How', 'are', 'you?']
Hello

答案 1 :(得分:0)

您可以向变量提供任何输入,下面是代码

value=input()
list1=list()
print("You have entered:-",value)
for number in value.split():
      list1.append(number)

print(list1)

此代码的输出:

123 you have enter 456
You have entered:- 123 you have enter 456
['123', 'you', 'have', 'enter', '456']

现在你可以做任何你想做的事。