是否可以根据输入本身将 raw_input 的类型设为整数或字符串?

Posted

技术标签:

【中文标题】是否可以根据输入本身将 raw_input 的类型设为整数或字符串?【英文标题】:Is it possible to make the type of raw_input an integer or string depending on the input itself? 【发布时间】:2021-03-15 05:02:38 【问题描述】:

我正在尝试制作一个用户猜数字的猜数字游戏。理想情况下,我想将数字的整数和字符串版本都作为有效答案。据我所知,我必须将 raw_input 设置为整数或将其保留(作为字符串),然后创建一个 if 语句,如果输入与起始数据类型不同,则将其转换为整数或字符串。如果 %s 用于字符串但 %d 用于整数,我也对如何使用字符串连接格式化 else 语句感到困惑。对于我在帖子或代码中犯的任何新手错误,我深表歉意,我几周前才开始。这是我的代码中让我绊倒的部分:

call = int(raw_input('Guess: ')) #defining for use outside of the function definitions

if call.isalpha():
  str(call)

def call_and_response():
  if call == 76 or call.lower() == 'seventy-six':
    print 'Fantastic! 76 is correct. \nThank you for playing!'
  else:
    print 'Good try, but %s is incorrect.' %(call)
      
call_and_response()

【问题讨论】:

你为什么还在使用 Python 2.7? @Barmar 必须,这是我的计算机科学入门课程。 【参考方案1】:

使用isdigit() 判断输入是否为数字。

call = raw_input('Guess: ')
if call.isdigit():
    call = int(call)
    correct = call == 76
else:
    correct = call.lower() == 'seventy-six'
if correct:
    print 'Fantastic! 76 is correct'
else:
    print 'Good try'

【讨论】:

以上是关于是否可以根据输入本身将 raw_input 的类型设为整数或字符串?的主要内容,如果未能解决你的问题,请参考以下文章

input() 与 raw_input()

字符串最后一个单词的长度

Python内置函数用法

python input() 与raw_input()

Python输入/输出

Python:raw_input 和 input用法