解决程序(因为数字的问题)没反应的方法

遇到问题

昨天花了半个小时去写了一个代码,没想到运行时只有 input 语句,之后的完全没反应,下面是代码一部分:

import random
print('欢迎来到幸运抽奖,输入数量,不可多过5(可以输入5),不可以1.')
n=input('请输入: ')

if n==1:
    print('error!!!不可以1')
elif n==2:
    a=input('第一个是:')
    b=input('第二个是:')
    r=random.randint(1,2)
    if r==1:
        print('结果是:'+a)
    elif r==2:
        print('结果是:'+b)

运行了下,if 后面的语句完全失效。

解决过程

我首先检查了下所有语句,没有发现问题,Python 也没有报错。
之后我去 QQ群问了下,人家说要加 int(),修改后代码如下:

import random
print('欢迎来到幸运抽奖,输入数量,不可多过5(可以输入5),不可以1.')
int(n)=input('请输入: ')

不知道是不是我的理解有问题,运行会报错。
我也放弃了。

解决方法

我正在弄另一个程序,突然想起可以试一下在数字附近加引号,我试了下,终于成功

import random
print('欢迎来到幸运抽奖,输入数量,不可多过5(可以输入5),不可以1.')
n=input('请输入: ')

if n=='1':
    print('error!!!不可以1')
elif n=='2':
    a=input('第一个是:')
    b=input('第二个是:')
    r=random.randint(1,2)
    if r==1:
        print('结果是:'+a)
    elif r==2:
        print('结果是:'+b)

收获

我发现有些可以不用加,比如

    if r==1:
        print('结果是:'+a)
    elif r==2:
        print('结果是:'+b)

r==1 中的 1 可以不用加引号

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 3

确实是你理解有问题,群友说的加个 int 是指 n = int(input('xxxxxx'))

3年前 评论
Jason990420

主要的问题在数值整数与字符串的分别

  1. 整数:大致上是由0~9组成的数值.
  2. 字符串: 前后带有相同的', ", '''""".
  3. 整数与字符串是不相等的.
  4. 输入的内容为字符串.
  5. 字符串转换成整数, 使用 int() 函数.
  6. 整数转换成字符串, 使用 str() 函数.
  7. = 指定变量的左边是不能用使用函数的.
3年前 评论

这是我的第一篇文章,请多多指教 :pray: :pray:

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!