具有特定值的随机整数

惠,我是编程新手。
我想随机应变
X=1234
该函数应从x中选择任意数字
例如
随机函数(X)=3
有没有办法

# 回答1


这就是你的意思吗?

选择 | 换行 | 行号
  1. >>> import random
  2. >>> random.choice([1,2,3,4,5,6,7,8,9,0])
  3. 2
  4. >>> 
# 回答2


不,有点像这样

选择 | 换行 | 行号
  1. {x = int(raw_input('Enter a four digit number:'))
  2.  
  3. y = raw_input("choose operation (1)Addition (2)Subtraction (3)Multiplication (4)Division  ")
  4.  
  5. if (y == "1"):
  6.     su = randint(x()) +  randint(x())
  7.     print (su)}
# 回答3


是的,当然有一条出路……所以想法是一样的..我们必须做出选择

选择 | 换行 | 行号
  1. random.choice(<list name>)

因为我们知道int是不可迭代的,所以我们首先将输入的数字转换为字符串类型,然后调用

选择 | 换行 | 行号
  1. random.choice()

功能...在您的情况下,我们可以这样做:

选择 | 换行 | 行号
  1. import random
  2. random_choice=random.choice(str(x))
# 回答4


回溯(最近一次呼叫):
文件"C:\USERS\-\main.py",第18行,位于
SU=随机选择-随机选择
TypeError:不支持-:'str'和'str'的操作数类型
嗨,我已经遵守了我们的代码。但我明白这个错误。

选择 | 换行 | 行号
  1. from random import randint
  2. import sys
  3. import random
  4.  
  5.  
  6. x = int(raw_input('Enter a four digit number:'))
  7. random_choice = random.choice(str(x))
  8.  
  9. su=0
  10.  
  11. #write down your logic here
  12. y = raw_input("choose operation (1)Addition (2)Subtraction (3)Multiplication (4)Division  ")
  13.  
  14. if (y == "1"):
  15.     su = random_choice +  random_choice
  16.     print (su)
  17. elif (y == "2"):
  18.     su = random_choice -  random_choice
  19.     print (su)
  20. elif (y == "3"):
  21.     su = random_choice *  random_choice
  22.     print (su)
  23. elif (y == "4"):
  24.     su = random_choice /  random_choice
  25.     print (su)
  26. else:
  27.     print ("NO")
  28.  
  29. print("New number is: %d" %su )
  30.  
  31.  
# 回答5


这可能是因为

选择 | 换行 | 行号
  1. random_choice = random.choice(str(x))

返回一个"字符串"值,因为输入参数的类型是字符串...但是要执行算术运算,您需要将其转换回int,因此上面的代码行应该如下所示:

选择 | 换行 | 行号
  1. random_choice = int(random.choice(str(x)))

您的整体代码应该是这样的:

选择 | 换行 | 行号
  1. from random import randint
  2. import sys
  3. import random
  4.  
  5.  
  6. x = int(raw_input('Enter a four digit number:'))
  7. random_choice = int(random.choice(str(x)))
  8.  
  9. su=0
  10.  
  11. #write down your logic here
  12. y = raw_input("choose operation (1)Addition (2)Subtraction (3)Multiplication (4)Division  ")
  13.  
  14. if (y == "1"):
  15.     su = random_choice +  random_choice
  16.     print (su)
  17. elif (y == "2"):
  18.     su = random_choice -  random_choice
  19.     print (su)
  20. elif (y == "3"):
  21.     su = random_choice *  random_choice
  22.     print (su)
  23. elif (y == "4"):
  24.     su = random_choice /  random_choice
  25.     print (su)
  26. else:
  27.     print ("NO")
  28.  
  29. print("New number is: %d" %su )
  30.  
  31.  
  32.  

我在我的机器上试了试,它工作得很好:)我希望它也适用于你

# 回答6


谢谢,它起作用了

标签: python

添加新评论