使某些东西与python 3和2兼容 [英] Making something compatible with python 3 and 2

查看:119
本文介绍了使某些东西与python 3和2兼容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试构建一个抽奖系统,允许您选择参与者,然后将其打印到屏幕上.我想使其与python3和python2交叉兼容.我在输入时遇到问题.要求您输入参与者姓名的输入内容不断给我一个错误:

I am trying to build a raffle system that allows you to choose participants and then print them to the screen. I want to make it cross compatible with python3 and python2. I am having problems with the inputs. The inputs down where it ask you to enter the participant names keep giving me an error:

Traceback (most recent call last): File "employee-raffle.py", line 20, in <module> participant_list.append(input("Enter person " + str(len(participant_list) + 1) + ": ")) File "<string>", line 1, in <module> NameError: name 'test' is not defined

Traceback (most recent call last): File "employee-raffle.py", line 20, in <module> participant_list.append(input("Enter person " + str(len(participant_list) + 1) + ": ")) File "<string>", line 1, in <module> NameError: name 'test' is not defined

来自代码:

# Import modules
import time
import random

print("Welcome to the raffle ")
participants = 0

# Checks how many people are participating in the raffle
while True:
    try:
        participants = int(input("\nHow many people are there in the raffle? \n"))
        break
    except:
        print("Invalid option")
        continue

# Creates a list and asks user to input the names of everyone
participant_list = []
while participants > len(participant_list):
    participant_list.append(input("Enter person " + str(len(participant_list) + 1) + ": "))

# Chooses a random person
random_participant = participant_list[random.randint(0,len(participant_list ) - 1)]

# Prints the person to the screen
print("AND THE WINNER IS:")
print("3")
time.sleep(1)
print("2")
time.sleep(1)
print("1")
time.sleep(1)
print(random_participant)

它在python 3中似乎可以正常工作.我真的希望它与两者都可以工作,因为我正在尝试学习如何使事物交叉兼容,因为在我看来这是重要的编程实践.

It seems to work fine in python 3. I really want it to work with both because I am trying to learn how to make things cross compatible as it is an important programming practice in my opinion.

推荐答案

此博客提供了一些使python文件与python 3和2兼容的示例.

This blog has some examples of making a python file compatible with both python 3 and 2.

他提到的获取输入的一个具体示例是:

A particular example for taking input that he mentions is :

def printme(s):
    sys.stdout.write(str(s))

def get_input(prompt):
    if sys.hexversion > 0x03000000:
        return input(prompt)
    else:
        return raw_input(prompt)

这篇关于使某些东西与python 3和2兼容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆